ช่วยตรวจสอบ db diagram ให้หน่อยครับ

เกี่ยวกับ ปัญหาการใช้งาน การติดตั้ง ฐานข้อมูล MySql Oracle MSSQL ect...
การเขียน คำสั่ง SQL เพื่อดึกข้อมูล บอร์ดนี้ควรระบุโครงสร้างตารางของท่านในคำถามด้วยนะ

Moderator: mindphp

sleepinlove
PHP Newbie
PHP Newbie
โพสต์: 5
ลงทะเบียนเมื่อ: 22/03/2011 3:34 pm

ช่วยตรวจสอบ db diagram ให้หน่อยครับ

โพสต์โดย sleepinlove » 25/03/2011 3:36 pm

พอดีผมจะเขียน web app ครับ แต่ว่ากลัวว่า db diagram จะผิดครับ
พอดีืที่เรียนมาอาจารย์เค้าบอกว่าเวลาเขียน อย่าให้เกิด loop
แต่ผมเขียนยังไงก็ติด loop
ก็เลยอยากให้พี่ๆช่วยแนะนำหน่อยนะครับว่าควรจะทำยังไงดี
รูปภาพ

ถามอีกอย่างนะครับ
ตอนนี้ผมใช้ตัว sql comman line client อยู่ครับ
อยากทราบว่า จะเขียนให้แต่ละ table ติดต่อกันยังไงครับ
เพราะตอนเรียน จะต้องเขียน references หรือว่า ต้องใช้ phpmyAdmin
ในการเชื่้อมต่อครับครับ

ภาพประจำตัวสมาชิก
imsn
PHP Super Member
PHP Super Member
โพสต์: 375
ลงทะเบียนเมื่อ: 07/05/2010 12:58 pm
ติดต่อ:

Re: ช่วยตรวจสอบ db diagram ให้หน่อยครับ

โพสต์โดย imsn » 25/03/2011 8:41 pm

ใช้ engine ตัวไหนครับ
ช่วยตอบเพราะอยากโปรโหมทเว็บ คิคิคลิกเลย
หาเพื่อนฝรั่งคุย M ...

sleepinlove
PHP Newbie
PHP Newbie
โพสต์: 5
ลงทะเบียนเมื่อ: 22/03/2011 3:34 pm

Re: ช่วยตรวจสอบ db diagram ให้หน่อยครับ

โพสต์โดย sleepinlove » 28/03/2011 8:05 am

mysql client command line ครับ

touleg
PHP Super Member
PHP Super Member
โพสต์: 480
ลงทะเบียนเมื่อ: 25/01/2010 11:57 pm
ติดต่อ:

Re: ช่วยตรวจสอบ db diagram ให้หน่อยครับ

โพสต์โดย touleg » 31/03/2011 10:18 pm

ต้องดูที่ความสัมพันธ์ครับ
พนักงาน ทุกคนสร้าง Course เองได้
- ถ้าจะเก็บว่าพนักงานคนไหนเป็นคนเปิด Course ให้เก็บ ID พนักงาน(FK) ที่ตาราง Course
- ถ้าไม่ก็ไม่ต้องมี ID พนักงานใน Course

Course จะแบ่งออกเป็นหลายหัวข้อ
- หมายความว่า1 Topic มีได้แค่ Course เดียว แต่ 1 Course มีได้หลายหัวข้อ ความสัมพันธ์เป็นแบบ 1 ต่อ N เพราะฉะนั้นจะต้องเอา CourseID ไปเป็น FK ของ Topic

Topic
- ถ้า Topic 1 หัวข้อมีการประเมินแค่อย่างเดียว ครั้งเดียว ก็ไม่จำเป็นต้องมี TopicScore ให้เอา Attribute ของ TopicScore ไปใส่รวมกับ Topic เลย
- ถ้า Topic 1 หัวข้อประเมินได้จากพนักงานหลายคน ให้เอา ID ของพนักงานไปเป็น FK ของ TopScore และเอา TopicID ของ Topic ไปเป็น FK ของ TopicScore ด้วย จะเห็นว่า TopicScore เป็น WeekEntity ถ้าไม่มี Topic ก็ไม่มีตารางนี้ เวลาทำให้เอา TopicID มาเป็น Primarykey ของ TopicScore และเพื่อให้มันไม่ซ้ำกันของคีย์เพราะหัวข้อหนึงประเมินได้จากพนักงานหลายคน จึงต้องเอา ID ของพนักงานมาเป็น Primarykey คู่กับ TopicID ด้วย

Course Score
- ส่วนนี้ไม่ได้ถูกประเมินจากพนักงาน ไม่ต้องมี FK จาก Employee
- ถ้า Course Score มีแค่ 1 ครั้งของ Course 1 ID ก็เอาไปรวมไว้ที่ตาราง Course เลย ไม่ต้องมีตาราง Course Score
- คะแนนรวมของ Course ความจริงแล้วมาจากคะแนนรวมของ Topic ใช่ไหม ถ้าใช้ก็ไม่จำเป็นต้องเก็บก็ได้เพราะมันเป็น Transaction ไม่ใช่ Master File คือเป็นค่าที่เปลี่ยนแปลงได้ที่เกิดจากการการทำการเปลี่ยนแปลงหรือการคำนวณต่างๆ แต่จะเก็บก็ได้แล้วแต่


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 12 และ บุคคลทั่วไป 0 ท่าน