Transcript Document
Design Database : Sale System Company THINAPHAN NITHIYUWITH Email : [email protected] LOGO Contents 1 2 การออกแบบ Relation Database 3 ขั้นตอนการออกแบบ E-R Diagram 4 Mapping E-R Diagram to Relation 5 2 การออกแบบฐานข้ อมูล สรุป Q&A ื ระบบสารสนเทศเพือ ่ การขายหนังสอ ผ่านระบบเครือข่าย กรณีศึกษา : ร้ าน OHO Bookshop Company LOGO ขอบเขตการทางาน จัดการข้ อมูลสิ นค้ าและประเภทสิ นค้ าในร้ านโดยผู้ดูแลระบบ (เจ้ าของร้ าน) จัดการข้ อมูลบริษัทคู่ค้าของสิ นค้ าโดยโดยผู้ดูแลระบบ (เจ้ าของร้ าน) ลูกค้ าแบ่ งเป็ น 2 ประเภท คือ ลูกค้ าจร กับลูกค้ าสมาชิก โดยลูกค้ าสมาชิกอาจมีการ ให้ ส่วนลด ลูกค้ าสามารถสมัครสมาชิกผ่ านการกรอกแบบฟอร์ มใบสมัคร และระบบออกบัตร สมาชิกให้ กบั ลูกค้ า ลูกค้ าสามารถเลือกซื้อสิ นค้ าได้ ตามต้ องการ ระบบจะทาการยืนยันรายการสั่ งซื้อ และตัดสต็อกสิ นค้ า ลูกค้ าชาระเงินตามรายการสั่ งซื้อ และระบบออกใบเสร็จรับเงินให้ กบั ลูกค้ า ขอบเขตการทางาน ผู้ดูแลระบบสามารถทาการสั่ งซื้อสิ นค้ ากับบริษัทคู่ค้า โดยระบบจะออกใบสั่ งซื้อไป ยังบริษัทคู่ค้า ผู้ดูแลระบบสามารถทาการรับสิ นค้ าตามรายการสั่ งซื้อสิ นค้ า ระบบสามารถแสดงรายงานข้ อมูลพืน้ ฐาน อาทิ เช่ น ข้ อมูลลูกค้ าทีเ่ ป็ นสมาชิก, ข้ อมูลประเภทสิ นค้ า, ข้ อมูลสิ นค้ า ระบบสามารถรายงานสิ นค้ าใกล้หมด (ถึงจุดสั่ งซื้อ) ระบบสามารถแสดงยอดขายสิ นค้ าสู งสุ ด 5 อันดับ ระบบสามารถแสดงรายการขายสิ นค้ าในแต่ ละวัน ระบบสามารถแสดข้ อมูลสรุ ปยอดการขาย และผลประกอบการในแต่ ละเดือน อืน่ ๆ .... ลองพิจารณาเพิม่ Designing Databases is . . . การออกแบบฐานข้ อมูล (Designing Databases) มีความสาคัญต่อการจัดการ ระบบฐานข้อมูล (DBMS) ทั้งนี้เนื่องจากข้อมูล ที่อยูภ่ ายในฐานข้อมูลจะต้องศึกษาถึงความสัมพันธ์ ของข้อมูล โครงสร้างของข้อมูลการเข้าถึงข้อมูลและ กระบวนการที่โปรแกรมประยุกต์จะเรี ยกใช้ ฐานข้อมูล 6 ขั้นตอนการออกแบบ Relation Database ขั้นตอนการดาเนินการ การออกแบบฐานข้ อมูลเชิงสั มพันธ์ มี 6 ขั้นตอน การรวบรวมและวิเคราะห์ความต้องการในการใช้ขอ้ มูล การเลือกระบบจัดการฐานข้อมูล การออกแบบฐานข้อมูลในระดับแนวคิด การนาฐานข้อมูลที่ออกแบบในระดับแนวคิดเข้าสู่ ระบบจัดการฐานข้อมูล การออกแบบฐานข้อมูลในระดับกายภาพ การนาฐานข้อมูลไปใช้และการประเมินผล 7 ขั้นตอนการออกแบบ Relation Database การรวบรวมและวิเคราะห์ ความต้ องการใน การใช้ ข้อมูล ขั้นตอนนี้ขอ้ มูลจะได้มาจากแบบฟอร์ มต่างๆ เช่น ใบสั่งซื้ อ, ใบเสร็ จรับเงิน , หรื อหน้าตา รายงานที่ตอ้ งการแสดงผล เช่น รายงานลูกค้า ที่ชาระเงินแล้ว, รายงานการสัง่ ซื้ อสิ นค้า ประจาวัน 8 ขั้นตอนการออกแบบ Relation Database การเลือกระบบจัดการฐานข้ อมูล ขั้นตอนนี้คุณต้องตัดสิ นใจว่าคุณจะเลือกใช้ DBMS ตัวไหน เช่น SQLServer, MS Access, MySQL, Oracle ฯ (ไม่ตอ้ งคิดมาก คุณก็เอา มาจากบทที่ 1 ของคุณ นอกจากลองไปศึกษาดูแล้วมีเหตุให้ตอ้ งเปลี่ยน ก็เปลี่ยนได้) ทาไมต้องเลือก ? เพราะว่าจะเอามากาหนดชนิดของข้อมูล ตอนทาเป็ น ตารางจ้า 9 ขั้นตอนการออกแบบ Relation Database การออกแบบฐานข้ อมูลในระดับแนวคิด การออกแบบฐานข้อมูลในระดับแนวความคิด หรื อใน ระดับตรรกะ เป็ นขั้นตอนการออกแบบความสัมพันธ์ ระหว่างข้อมูลในระบบโดยใช้แบบจาลองข้อมูลเชิง สัมพันธ์ ซึ่งอธิบายโดยใช้แผนภาพแสดงความสัมพันธ์ ระหว่างข้อมูล (E-R Diagram) จากแผนภาพ ER Diagram นามาสร้างเป็ นตารางข้อมูล (Mapping E-R Diagram to Relation) และใช้ทฤษฏีการ Normalization เพื่อเป็ นการรับประกันว่าข้อมูลมีความซ้ าซ้อนกันน้อย ที่สุด 10 ขั้นตอนการออกแบบ Relation Database กาหนด Entity Strong Entity Weak Entity กาหนด Attribute Composite attribute Simple attribute Single-value attribute Multivalued attributes Derived attributes 11 กาหนด Primary Key กาหนด Relationship 1:1 1:M M:N ชนิดความสั มพันธ์ Unary/Recursive Binary Ternary EER ขั้นตอนการออกแบบ E-R Diagram : Sale System 1. กาหนด Entity และ Attribute พร้ อมพิจารณาว่ าเป็ น Entity คือ ข้ อมูลทีเ่ ราสนใจจะจัดเก็บข้ อมูล ข้อมูลหาได้จากไหน ? • แบบฟอร์ม • รายงาน • ข้อมูลอื่น ๆ ที่เราไปหา requirement อาจโดยการพูดคุย สัมภาษณ์ หรื อ แบบสอบถาม Attribute คือ รายละเอียดหรือคุณลักษณะของ Entity นั้น ๆ เช่ น ต้ องการจัดเก็บข้ อมูลหนังสื อ (Entity)ซึ่ง รายละเอียดหนังสื อ (Attribute) ประกอบด้ วย รหัสหนังสื อ ชื่อเรื่อง ผู้แต่ ง รูปภาพ เป็ นต้ น 12 ขั้นตอนการออกแบบ E-R Diagram : Sale System ขอบเขตการทางาน จัดการข้ อมูลสิ นค้ าและประเภทสิ นค้ าในร้ านโดยผู้ดูแลระบบ (เจ้ าของร้ าน) จัดการข้ อมูลบริษัทคู่ค้าของสิ นค้ าโดยโดยผู้ดูแลระบบ (เจ้ าของร้ าน) ลูกค้ าแบ่ งเป็ น 2 ประเภท คือ ลูกค้ าจร กับลูกค้ าสมาชิก โดยลูกค้ าสมาชิกอาจมีการ ให้ ส่วนลด ลูกค้ าสามารถสมัครสมาชิกผ่ านการกรอกแบบฟอร์ มใบสมัคร และระบบออกบัตร สมาชิกให้ กบั ลูกค้ า ลูกค้ าสามารถเลือกซื้อสิ นค้ าได้ ตามต้ องการ ระบบจะทาการยืนยันรายการสั่ งซื้อ และตัดสต็อกสิ นค้ า ลูกค้ าชาระเงินตามรายการสั่ งซื้อ และระบบออกใบเสร็จรับเงินให้ กบั ลูกค้ า ขอบเขตการทางาน ผู้ดูแลระบบสามารถทาการสั่ งซื้อสิ นค้ ากับบริษัทคู่ค้า โดยระบบจะออกใบสั่ งซื้อไป ยังบริษัทคู่ค้า ผู้ดูแลระบบสามารถทาการรับสิ นค้ าตามรายการสั่ งซื้อสิ นค้ า ระบบสามารถแสดงรายงานข้ อมูลพืน้ ฐาน อาทิ เช่ น ข้ อมูลลูกค้ าทีเ่ ป็ นสมาชิก, ข้ อมูลประเภทสิ นค้ า, ข้ อมูลสิ นค้ า ระบบสามารถรายงานสิ นค้ าใกล้หมด (ถึงจุดสั่ งซื้อ) ระบบสามารถแสดงยอดขายสิ นค้ าสู งสุ ด 5 อันดับ ระบบสามารถแสดงรายการขายสิ นค้ าในแต่ ละวัน ระบบสามารถแสดข้ อมูลสรุ ปยอดการขาย และผลประกอบการในแต่ ละเดือน อืน่ ๆ .... ลองพิจารณาเพิม่ Entity Attribute และ PK จากขอบเขตของระบบ เราสามารถค้ นหา Entity และกาหนด Attribute และ PKได้ ดังนี้ จัดการข้ อมูลสิ นค้ าและประเภทสิ นค้ าในร้ านโดยผู้ดูแลระบบ (เจ้ าของร้ าน) Entity หนังสื อ(สิ นค้า) : Book (รหัสหนังสื อ, ชื่อเรื่ อง, ผูแ้ ต่ง, สานักพิมพ์, isbn, รู ป หนังสื อ, ราคาทุน, ราคาขาย, จานวนคงเหลือ, จุดสัง่ ซื้ อ, เรื่ องย่อ) Entity หมวดหมู่(ประเภทสิ นค้า): Category (รหัสหมวด, ชื่อหมวด) ISBN รู ป ราคาทุน สานักพิมพ์ ราคาขาย ผูแ้ ต่ง จานวนคงเหลือ ชื่อเรื่ อง จุดสัง่ ซื้อ รหัสหนังสือ เรื่ องย่อ Book รหัสหมวด ชื่อหมวด Category Entity Attribute และ PK จัดการข้ อมูลบริษัทคู่ค้าของสิ นค้ าโดยโดยผู้ดูแลระบบ Entity บริ ษทั คู่คา้ : Partner (รหัสบริษัท, ชื่อบริ ษทั , ที่อยู,่ เบอร์โทร, แฟกซ์, ชื่อสกุลผูต้ ิดต่อ, อีเมล์) ลูกค้ าแบ่ งเป็ น 2 ประเภท คือ ลูกค้ าจร กับลูกค้ าสมาชิก โดยลูกค้ าสมาชิกอาจมีการให้ ส่วนลด โดยลูกค้ าสามารถสมัครสมาชิกผ่ านการกรอกแบบฟอร์ มใบสมัคร และระบบออกบัตรสมาชิก ให้ กบั ลูกค้ า Entity ลูกค้า : Member (รหัสสมาชิก, ชื่อ-สกุล, ที่อยู,่ เบอร์โทร, อีเมล์ ) ที่อยู่ เบอร์โทร แฟกซ์ ที่อยู่ ชื่อบริ ษทั ชื่อ-สกุลผูต้ ิดต่อ รหัสบริษัท อีเมล์ Partner ชื่อ-สกุล เบอร์โทร อีเมล์ รหัสสมาชิก Member Entity Attribute และ PK ระบบจะทาการยืนยันรายการขายสิ นค้ า และตัดสต็อกสิ นค้ า Entity รายการขาย(สิ นค้า) : Sale_Orders (เลขทีร่ ายการขาย, วันที่ขาย, ยอดเงินรวม สุ ทธิ,เลขที่ใบเสร็จ ) ผู้ดูแลระบบสามารถทาการสั่ งซื้อสิ นค้ ากับบริษัทคู่ค้า โดยระบบจะออกใบสั่ งซื้อไป ยังบริษัทคู่ค้า Entity รายการสัง่ ซื้อ(สิ นค้า)กับบริ ษทั คู่คา้ : Purchase_Orders (เลขทีใ่ บสั่ งซื้อ, วันที่ สัง่ ซื้อ, ยอดเงินรวมสุ ทธิ, สถานะการรับหนังสื อ) วันที่ ยอดรวมสุทธิ วันที่ เลขที่ใบเสร็จ เลขทีร่ ายการขาย Sale_Orders เลขทีร่ ายการสั่งซื้อ ยอดรวมสุทธิ สถานะการรับ Purchase_Orders Relationship กาหนดความสั มพันธ์ ระหว่ าง Entity ทั้ง 6 ทีม่ ีความเกีย่ วข้ องกัน 1. Entity หนังสื อ กับ Entity หมวดหมู่ มีความสั มพันธ์ ในลักษณะ M:1 คือ หนังสื อ 1 เล่ ม จัดอยู่ได้ 1 หมวดหมู่ และในทางกลับกัน 1 หมวดหมู่ มี หนังสื อได้ หลายเล่ม • รหัสหนังสื อ • ชื่อเรื่ อง • ผูแ้ ต่ง • สานักพิมพ์ • ISBN • รู ปหนังสื อ • ราคาทุน • ราคาขาย • จานวนคงเหลือ • จุดสัง่ ซื้อ • เรื่ องย่อ Book • รหัสหมวดหนังสื อ • ชื่อหมวด M 1 has รูปความสัมพันธ์ ที่ 1 Category Relationship 2. Entity หนังสื อ กับ Entity บริษัทคู่ค้า มีความสั มพันธ์ ในลักษณะ M:1 คือ หนังสื อ 1 เล่ ม จัดจาหน่ ายโดยบริษัทคู่ค้า 1 บริษัท และในทางกลับกัน 1 บริษัท จัดจาหน่ ายหนังสื อได้ หลายเล่ม • รหัสหนังสื อ • ชื่อเรื่ อง • ผูแ้ ต่ง • สานักพิมพ์ • ISBN • รู ปหนังสื อ • ราคาทุน • ราคาขาย • จานวนคงเหลือ • จุดสัง่ ซื้อ • เรื่ องย่อ Book • รหัสบริ ษทั คู่คา้ • ชื่อบริ ษทั • ที่อยู่ • เบอร์โทร • แฟกซ์ • อีเมล์ • ชื่อ-สกุลผูต้ ิดต่อ M 1 has รูปความสัมพันธ์ ที่ 2 Partner Relationship 3. Entity ลูกค้ า(สมาชิก) กับ Entity หนังสื อ มีความสั มพันธ์ ในลักษณะ M:N คือ ลูกค้ า(สมาชิก) 1 คน ซื้อหนังสื อได้ หลายเล่ม และหนังสื อ 1 เล่ม ก็สา มารถูกลูกค้ า(สมาชิก) ซื้อได้ หลายคน หรือถ้ ามองในมุมผู้ขาย อาจอธิบายได้ ว่า ร้ านขายหนังสื อให้ กบั ลูกค้ า โดยหนังสื อ 1 เล่ มขายให้ ลกู ค้ าได้ หลายคน และ ทาง ร้ านสามารถขายหนังสื อได้ ให้ กบั ลูกค้ าแต่ ละคนได้ หลายเล่ ม Member M N has Book Relationship จากความสั มพันธ์ ดงั กล่าว ทาให้ เกิดจึงเกิด Composite Entity ใบ รายการขาย ขึน้ ดังนั้น รู ปภาพความสั มพันธ์ ข้างต้ นจึงถูกเปลีย่ นเป็ น M Member Member N Book has 1 has M Sale_Orders M has N Book Relationship จากความสั มพันธ์ ใบรายการขาย กับ หนังสื อ มีลกั ษณะM:N คือ ใบรายการ ขาย 1 ใบมีหนังสื อได้ หลายรายการ และหนังสื อ 1 เล่ มก็สามารถอยู่ได้ หลายใบ รายการขาย จึงเกิด Composite Entity รายละเอียดใบรายการขาย Member • รหัสสมาชิก • ชื่อ-สกุล • ที่อยู่ • เบอร์โทร • อีเมล์ 1 has M Sale_Orders M • เลขที่รายการขาย • วันที่ • ยอดเงินรวมสุทธิ • เลขที่ใบเสร็จ รูปความสัมพันธ์ ที่ 3 has • จานวนที่ขาย N Book • รหัสหนังสื อ • ชื่อเรื่ อง • ผูแ้ ต่ง • สานักพิมพ์ • ISBN • รู ปหนังสื อ • ราคาทุน • ราคาขาย • จานวนคงเหลือ • จุดสัง่ ซื้อ • เรื่ องย่อ Relationship 4. Entity ใบรายการสั่ งซื้อหนังสื อ(บริษัทคู่ค้า) กับ Entity หนังสื อ มี ความสั มพันธ์ ในลักษณะM:N คือ ใบรายการสั่ งซื้อหนังสื อ 1 ใบ สามารถสั่ งซื้อ หนังสื อจากบริษัทคู่ค้าได้ หลายรายการ และ หนังสื อ 1 รายการก็สามารถอยู่ได้ หลายใบรายการสั่ งซื้อ ณ วันเวลาทีต่ ่ างกัน Purchase_Orders M N has Book Relationship จากความสั มพันธ์ ดงั กล่าว ทาให้ เกิดจึงเกิด Composite Entity รายละเอียดใบรายการสั่ งซื้อ ขึน้ ดังนั้น M Purchase_Orders • เลขที่ใบรายการสัง่ ซื้อ • วันที่ซ้ือ • ยอดเงินรวมสุทธิ • สถานะการับสิ นค้า N has • จานวนที่สงั่ ซื้อ รูปความสัมพันธ์ ที่ 4 Book • รหัสหนังสื อ • ชื่อเรื่ อง • ผูแ้ ต่ง • สานักพิมพ์ • ISBN • รู ปหนังสื อ • ราคาทุน • ราคาขาย • จานวนคงเหลือ • จุดสัง่ ซื้อ • เรื่ องย่อ E-R Diagram นารู ปความสั มพันธ์ ท้งั 4 มาเชื่อมโยงกัน M 1 has M Purchase_Orders N Book has N has M Member 1 has M Sale_Orders M has Partner 1 Category Mapping E-R to Relation ก่ อน Map จะได้ ข้อมูลดังนี้ Entity Book Book(รหัสหนังสื อ, ชื่อเรื่ อง, ผูแ้ ต่ง, สานักพิมพ์, isbn, รู ปหนังสื อ, ราคาทุน, ราคาขาย, จานวนคงเหลือ, จุดสัง่ ซื้ อ, เรื่ องย่อ) Category Category(รหัสหมวด, ชื่อหมวด) Partner Member Partner (รหัสบริษัท, ชื่อบริ ษทั , ที่อยู,่ เบอร์โทร, แฟ็ กซ์, ชื่อ-สกุลผูต้ ิดต่อ, อีเมล์) Member (รหัสสมาชิก, ชื่อ-สกุล, ที่อยู,่ เบอร์โทร, อีเมล์ ) Sale_Orders Sale_Orders (เลขทีร่ ายการขาย, วันที่ขาย, ยอดเงินรวมสุ ทธิ, เลขที่ใบเสร็ จ ) Purchase_Orders Purchase_Orders (เลขทีใ่ บสั่ งซื้อ, วันที่ซ้ือ, ยอดเงินรวมสุ ทธิ, สถานะการรับ สิ นค้า ) Mapping E-R to Relation หลัง Map จะได้ ข้อมูลดังนี้ Entity Relation Book Book(รหัสหนังสื อ, ชื่อเรื่ อง, ผูแ้ ต่ง, สานักพิมพ์, isbn, รู ปหนังสื อ, ราคาทุน, ราคาขาย, จานวนคงเหลือ, จุดสัง่ ซื้ อ, เรื่ องย่อ , รหัสหมวด*, รหัสบริษทั * ) Category Category(รหัสหมวด, ชื่อหมวด) Partner Partner (รหัสบริษัท, ชื่อบริ ษทั , ที่อยู,่ เบอร์โทร, แฟ็ กซ์, ชื่อ-สกุลผูต้ ิดต่อ, อีเมล์) Member (รหัสสมาชิก, ชื่อ-สกุล, ที่อยู,่ เบอร์โทร, อีเมล์ ) Member Sale_Orders Sale_Orders (เลขทีร่ ายการขาย, วันที่ขาย, ยอดเงินรวมสุ ทธิ, เลขที่ใบเสร็ จ , รหัสสมาชิก* ) Purchase_Orders Purchase_Orders (เลขทีใ่ บสั่ งซื้อ, วันที่ซ้ื อ, ยอดเงินรวมสุ ทธิ, สถานะการรับ สิ นค้า ) Mapping E-R to Relation หลัง Map จะได้ ข้อมูลดังนี้ (ต่ อ) Entity Orders_Detail Purchase_Detail Relation Orders_Detail (เลขทีร่ ายการขาย*, รหัสหนังสื อ*, จานวนที่ขาย) Purchase_Detail (เลขทีใ่ บสั่ งซื้อ*, รหัสหนังสื อ* , จานวนที่สงั่ ซื้ อ) Normalization พิจารณาจากความสั มพันธ์ ระหว่ าง attribute ของ entity ทั้ง 8 พบว่ า เป็ น 3NF แล้วเนื่องจาก เป็ น 2 NF แล้ว และไม่ มีความสั มพันธ์ แบบ Transitive เกิดขึน้ Data Dictionary การทา Data Dictionary คือ การกาหนดรายละเอียดให้ กบั Relation ดังนี้ Category (หมวดหมู่หนังสื อ) ลาดับ 1 2 31 แอทริบิวต์ C_ID C_Na ความหมาย รหัสหมวด ชนิด tinyint ขนาด คีย์ หมายเหตุ 1 PK Auto_Number ชื่อหมวด varchar 50 Data Dictionary Partner (บริ ษทั คู่คา้ ) ลาดับ 1 2 3 4 5 6 7 32 แอทริบิวต์ P_ID P_Na P_Add P_Tel P_Fax P_Contact P_Email ความหมาย รหัสบริษัท ชนิด tinyint ขนาด คีย์ หมายเหตุ 1 PK Auto_Number ชื่อบริษัท varchar 50 ทีอ่ ยู่ varchar 50 เบอร์ โทร varchar 15 แฟกซ์ varchar 15 ชื่อ-สกุลผู้ติดต่ อ varchar 30 อีเมล์ varchar 30 book (หนังสื อ) ลาดับ Data Dictionary แอทริบิวต์ ความหมาย ชนิด ขนาด คีย์ หมายเหตุ PK Auto_number 1 B_ID รหัสหนังสือ varchar 10 2 B_Na ชื่อเรื่อง varchar 100 3 B_Author ผู้แต่ ง varchar 100 4 B_Pub สานักพิมพ์ varchar 100 5 B_ISBN หมายเลขISBN varchar 20 6 B_img รูป varchar 50 7 B_Cost ราคาทุน decimal 6,2 8 B_Price ราคาขาย decimal 6,2 9 B_amount จานวนคงเหลือ int 4 10 B_point จุดสั่งซื้อ smallint 2 11 B_Comment เรื่องย่ อ text 12 C_ID รหัสหมวด tinyint 1 FK Category 13 33 P_ID รหัสบริษทั tinyint 1 FK Partner Data Dictionary member (สมาชิก) ลาดับ 1 2 3 4 5 34 แอทริบิวต์ M_Id M_Na M_Add M_Tel M_Mail ความหมาย รหัสสมาชิก ชนิด int ขนาด คีย์ หมายเหตุ 4 pk auto_number ชื่อ-สกุลสมาชิก varchar 50 ทีอ่ ยู่ varchar 50 เบอร์ โทรศัพท์ varchar 15 อีเมล์ varchar 20 Data Dictionary Sale_Orders (รายการขายหนังสื อ) ลาดับ แอทริบิวต์ 1 2 3 4 5 35 SO_Id SO_Date SO_SNet SO_IdSlip M_Id ความหมาย เลขทีร่ ายการขาย ชนิด int ขนาด คีย์ หมายเหตุ 4 PK auto_number วันที่ varchar 10 ยอดเงินรวมสุ ทธิ decimal 7,2 เลขทีใ่ บเสร็จ int 4 รหัสสมาชิก int 4 FK Member Data Dictionary Orders_Detail (รายละเอียดใบรายการซื้อสิ นค้ า) ลาดับ แอทริบิวต์ 1 2 3 36 ความหมาย เลขทีร่ ายการขาย SO_Id รหัสหนังสื อ B_ID OD_num จานวนทีข่ าย ชนิด int ขนาด คีย์ 4 PK,FK หมายเหตุ Sale_Orders varchar 10 Book tinyint 1 PK ,FK Data Dictionary Purchase_Orders (รายการสั่ งซื้อหนังสื อกับบริษทั คู่ค้า) ลาดับ แอทริบิวต์ ความหมาย เลขทีร่ ายการขาย 1 2 3 4 PO_Id P O_Date วันที่ P O_SNet ยอดเงินรวมสุ ทธิ PO_Status สถานะการรับหนังสือ 5 B_ID 37 รหัสหนังสื อ ชนิด int ขนาด คีย์ หมายเหตุ 4 PK auto_number varchar 10 decimal 8,2 int 4 varchar 10 0 = ยังไม่ ได้ รับ 1 = รับเรียบร้ อยแล้ ว Book Data Dictionary Purchase_Detail (รายละเอียดรายการสั่ งซื้อหนังสื อ) ลาดับ แอทริบิวต์ 1 2 3 38 ความหมาย เลขทีร่ ายการขาย PD_Id รหัสหนังสื อ B_ID PD _num จานวนทีซ่ ื้อ ชนิด int ขนาด คีย์ 4 PK,FK หมายเหตุ Purchase_Orders varchar 10 Book int 4 PK ,FK db_bookshop : SQLServer create database db_bookshop on primary(name = db_bookshop_Data, filename = 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\db_bookshop.mdf', size = 1 mb, maxsize = 20 mb, Filegrowth = 10%) log on (name=db_bookshop_log, Filename = 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\db_bookshop.ldf', size = 1 mb, maxsize = 10 mb, filegrowth = 10%) 39 Table Category : SQLServer create table Category (C_ID tinyint(1)primary key, C_Na varchar(50)) 40 Table Partner : SQLServer Use DB_Bookshop_52135 create table Partner (P_ID tinyint primary key, P_Na varchar(50), P_Add varchar(50), P_Tel varchar(15), P_Fax varchar(15), P_Contact varchar(30), P_Email varchar(30)) 41 Table Book : SQLServer Use DB_Bookshop_52135 create table member (M_ID int primary key, M_Na varchar(50), M_Add varchar(50), M_Tel varchar(15), M_Mail varchar(20)) 42 Table Member : SQLServer 43 Table Sale_Orders : SQLServer 44 Table Orders_Detail : SQLServer 45 Table Purchase_Orders : SQLServer 46 Table Purchase_Detail : SQLServer 47 Diagram db_bookshop Company LOGO