สอบถามเกี่ยวกับการสร้างฐานข้อมูลเก็บรูปคือผมออกแบบ แบบนี้มีถูกมัยครับ
ตารางถูกต้องครับ แต่ดูเหมือน ฟิวเก็บวันที่ จะไม่ถูกต้องครับ ต้องเก็บในรูปแบบของ DATETIME ครับ
Date :
2014-08-08 01:28:42
By :
yamcrocodile
เสริมนิดนึงครับถ้าหาก ฟิลด์ new_date จะเก็บฉเพราะวันที่เท่านั้นแนะนำ เลือก Type : DATE ครับ แต่ ถ้าต้องการเก็บเวลาที่บันทึกข่าวด้วยนั้นก็อาจจะเพิ่มอีกฟิลด์ก็ได้ครับเช่น new_time แล้วเลือก Type : Time หรือจะเลือกเป็น ฟิลด์ new_date แล้วเลือก Type : DATETIME แบบพี่ข้างบนแนะนำก็ได้ครับ
จริงๆการออกแบบ database ก็ไม่มีผิดมีถูกนะครับ(ส่วนตัว) โดยส่วนตัวมองว่าการออกแบบ database ที่ดีก็คือ การที่เราเข้าใจปัญหาที่จะแก้ไขด้วยระบบ สารสนเทศมากกว่าครับ เพราะถ้าเราเข้าใจปัญหานั้นๆโดยเชิงลึกแล้วนั้น ก็จะทำให้เราสามารถออกแบบ database ได้อย่างมีประสิทธิภาพมากขึ้นครับ
Date :
2014-08-08 09:08:08
By :
geidtiphong
เห็นดัวยกับความเห็น 2 ครับ และต่อไป ประสบการณ์การทำงาน จะทำให้คุณเลือกใช้ คำสั่ง และ type ได้ถูกต้องเหมาะสมเองครับ
สิ่งสำคัญสามารถวิเคราะห์มองปัญหาและแก้ไขได้ ตามประสบการณ์ที่มีอยู่เป็นสิ่งสำคัญครับ
ตอนนี้ก็เริ่มเรียนรู้มีประสบการณ์ขึ้นมาอีกอย่างแล้วนะครับว่า ควรใช้ type ให้เหมาะสมกับ งาน
แล้วมันจะมี feature ช่วยการทำงานตรงตาม type มากขึ้นครับ
สำหรับ table รูป ไม่ต้องเก็บหลายฟีลด์ครับ จะเป็นการจำกัดจำนวนรูป
Code (SQL)
photo_id รหัสรูป int
news_id รหัสข่าว int
pho รูป varcha #เปลี่ยนไปใช้ blob(MySql) หรือ VARBINARY(SQLServer)
เก็บแบบนี้สามารถเพิ่มรูปได้ไม่จำกัดครับ ใช้รหัสข่าวในการ คิวรี่
ปล. รูป อันนี้กรณีเก็บรูปเองนะครับ แต่ถ้าใช้ link ไปที่อื่น ซึ่งก็สดวกดีครับ ก็เก็บ varchar ครับ
ประวัติการแก้ไข 2014-08-08 09:33:28
Date :
2014-08-08 09:29:11
By :
Chaidhanan
ขอบคุณมากครับ มีแต่ความรูปทั้งนั้นที่แนะนำมา
Date :
2014-08-08 20:07:33
By :
Exk_Za
ผมก็ขอเสริมบ้าง ไม่ได้จะขัดผู้ใด แต่ว่า
ถ้าหากจะมองถึงอนาคตว่าอาจมีการย้ายไปใช้ database ประเภทอื่นได้ด้วยก็ดี,
หรือจะเน้นในเรื่องความเร็ว read/write ก็ดี
การเก็บข้อมูลวันที่และเวลา เก็บเป็นประเภท int, bigint น่าจะเหมาะสำหรับผู้ที่ต้องการแบบนั้น
เพราะปกติเราก็แทบไม่ได้เปิดดูฐานข้อมูลอยู่แล้ว และข้อมูลประเภท timestamp, datetime, date เท่าที่เคยพบมามันมีปัญหาเวลาโอนย้ายข้อมูลไปฐานข้อมูลประเภทอื่นบางประเภท เช่น oracle (อาจจะจำผิด แต่มันเคยมีนะครับ ลองถามผู้เชี่ยวชาญ)
ใน cms บางรายอย่างเช่น drupal ก็เก็บข้อมูลวันที่ในหลายๆตารางเป็น int เหมือนกันครับ :)
ข้อดีอื่นๆ
เวลาแสดงผล ไม่ต้องเอามาทำเป็น strtotime อีกที
เวลากำหนดเงื่อนไขวันที่ปัจจุบันเก่าหรือใหม่กว่าวันที่ในฐานข้อมูลก็ใช้แค่ <, > ไม่ต้องใช้คำสั่งแปลงค่าวันที่อะไรอีก
Date :
2014-08-09 02:22:24
By :
mr.v
Load balance : Server 04