Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามเรื่องแนวคิดการออกแบบฐานข้อมูล และแนวคิดการออกแบบระบบ หน่อยครับ



 

สอบถามเรื่องแนวคิดการออกแบบฐานข้อมูล และแนวคิดการออกแบบระบบ หน่อยครับ

 



Topic : 055512



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์




คือแนวคิดโครงงานของผมคือ ผมจะทำระะบบค้นหาอาจารในมหาลัย โดยอ้างอิงจากตารางสอน ครับ

แนวคิดของผมคือว่า จะมีหน้าต่างเซิส ตรงหน้าเว็บ มีช่องให้ใส่ ชื่อ นามสกุล วันเวลาที่ต้องการค้นหา ( เวลา ผมฟิกไว้หาได้เฉพาะเวลาราชการเท่านั้น )
เมื่อกดค้นหาจนเจอแล้ว ก็จะแสดงข้อมูลของอาจาร ที่เก็บไว้ในฐานข้อมูล พร้อมกับ บอกว่า ณ ช่วงเวลาที่ค้นหาไป อาจารท่านนั้น สอนวิชาอะไร อยู่ห้องไหน สอนนักศึกษากลุ่มอะไร เป็นต้น

ทีนี้ผมเริ่มออกแบบ ฐานข้อมูล ก็มีดังนี้

กำหนด fields ฐานข้อมูล ตาราง ของอาจาร

- ID
- Name (ชื่อ)
- Surname (นามสกุล)
- Department(ภาควิชา)
- faculty(คณะ)
- Picture(รูป)
- Event ID

กำหนด fields ฐานข้อมูล ตาราง Event
- Event ID
- Time Start
- Time Stop
- Event
- Position

สองตารางนี้มีความสัมพันธ์แบบ One-to-Many คืออาจารหนึงคน จะมี Event ได้หลาย Event ซึ่งจะอ้างอิงตามตารางสอน

ทีนี้ก็คำถามของผมครับ

- Event ผมต้องการให้มีสองแบบ

แบบแรก คือ add ครั้งเดียว เซ็ดให้ เป็นแบบเดิมไปทั้งเทิมเลย ยกตัวอย่างง่ายๆนะครับ
ในเทิมนี้ อาจาร A วันอังคาร เวลา 8.00-10.00 จะสอน วิชา 001 ห้อง 101 กับนักศึกษา กลุ่ม 1 หมายความว่าทุกๆวันอังคาร อาจาร A ก็จะมี event แบบนี้ ซํ้าๆไปตลอด ทั้งเทิม เมื่อมีคนมากดค้นหา ระบุชื่อ อาจารย์ A ไม่ว่าจะระบุวันที่เท่าไหร่ไป เวลา 8.00-10.00 ถ้าวันนั้นตรงกับวันอังคาร ก็จะเจออาจาร A สอนวิชา 001 ห้อง 101 สอนนักศึกษา กลุ่ม 1 ตลอดทั้งเทิม

แบบที่สอง สมมุติว่า อาจาร A ปกติวันอังคาร 8.00-10.00 มีสอนวิชา 001 ห้อง 101 กับนักศึกษา กลุ่ม 1 ตามตัวอย่างด้านบน แต่อาจาร A เกิด ติดประชุม เวลานั่นพอดี ในวันอังคารที่ 15 กพ. 54 ผู้ดูแลระบบสามารถ Add Event ใหม่ใส่เข้าไปและระบุวันที่ เวลา ได้ โดยกำหนดให้ไปซ้อนกับ Event ตัวเดิม ซึ่งไม่กระทบต่อ Event เดิม อธิบายคือ เมื่อมีผู้มาค้นหา อาจาร A ในวันอังคารที่ 15 กพ.54 เวลา 8.00-10.00 ระบบจะแสดง Event ใหม่ที่เพิ่งเพิ่มเข้าไปคือ อาจารย์ A มีประชุม แต่สำหรับ วันอังคารที่ไม่ตรงกับวันที่ 15 อาจาร A ก็ยังสอน วิา 001 เช่นเดิม

จากตัวอย่างที่ผมยกนะครับ ฐานข้อมูลที่ผมออกแบบไว้ มันไม่เป็นอย่างที่ต้องการครับ เลยอยากจะสอบถามท่านผู้รู้ ว่าผมควรปลับเปลี่ยนยังไง เป็นแนวทางต่อไปครับ

ปล. ระบบผมเขียนด้วยภาษา PHP ใช้ ฐานข้อมูล MySQL นะครับ

ขอบคุณล่วงหน้าสำหรับคำตอบครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-02-03 17:06:52 By : junctionaof View : 915 Reply : 1
 

 

No. 1



โพสกระทู้ ( 355 )
บทความ ( 0 )



สถานะออฟไลน์


Quote:
กำหนด fields ฐานข้อมูล ตาราง ของอาจาร

- ID
- Name (ชื่อ)
- Surname (นามสกุล)
- Department(ภาควิชา)
- faculty(คณะ)
- Picture(รูป)
- Event ID

กำหนด fields ฐานข้อมูล ตาราง Event
- Event ID
- Time Start
- Time Stop
- Event
- Position


สองตารางนี้มีความสัมพันธ์แบบ One-to-Many คืออาจารหนึงคน จะมี Event ได้หลาย Event ซึ่งจะอ้างอิงตามตารางสอน

ที่ผมเข้าใจนะ ดูจากข้อมูลตาราง จะเชื่อมสัมพันธ์กันผ่าน Event ID ทำไมใช้ Event ID ครับ น่าจะใช้ Ajarn ID ในการเชื่อมสัมพันธ์มากกว่านะครับ

กำหนด fields ฐานข้อมูล ตาราง ของอาจาร

- Ajran ID
- Name (ชื่อ)
- Surname (นามสกุล)
- Department(ภาควิชา)
- faculty(คณะ)
- Picture(รูป)

กำหนด fields ฐานข้อมูล ตาราง Event
- Event ID
- Ajran ID
- Time Start
- Time Stop
- Event
- Position

กำหนด Ajran ID ในตาราง Event แล้วเวลาเรียกข้อมูลก็เอา Ajran ID ไปเรียกข้อมูลอาจารย์ในตารางอาจารย์ขึ้นมา แบบนี้มีกี่ Event ก็ไม่มีปัญหาครับ







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-04 10:46:03 By : zankumuro
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่องแนวคิดการออกแบบฐานข้อมูล และแนวคิดการออกแบบระบบ หน่อยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่