Upload
carlyn
View
63
Download
0
Embed Size (px)
DESCRIPTION
Design Database : Sale System. THINAPHAN NITHIYUWITH. Email : [email protected]. Contents. 1. การออกแบบฐานข้อมูล. 2. การออกแบบ Relation Database. 3. ขั้นตอนการออกแบบ E - R Diagram. 4. Mapping E - R Diagram to Relation. 5. สรุป Q&A. - PowerPoint PPT Presentation
Citation preview
2
Contents
การออกแบบฐานขอมล1
การออกแบบ Relation Database
2
ขนตอนการออกแบบ E-R Diagram
3
Mapping E-R Diagram to Relation4
สรป Q&A5
Company LOGO
กรณศกษา : ราน OHO Bookshop
ระบบสารสนเทศเพอการขายหนงสอผานระบบเครอขาย
ขอบเขตการทำางานจดการขอมลสนคาและประเภทสนคาในรานโดยผดแลระบบ
(เจาของราน)จดการขอมลบรษทคคาของสนคาโดยโดยผดแลระบบ (เจาของ
ราน)ลกคาแบงเปน 2 ประเภท คอ ลกคาจร กบลกคาสมาชก โดย
ลกคาสมาชกอาจมการใหสวนลด ลกคาสามารถสมครสมาชกผานการกรอกแบบฟอรมใบสมคร
และระบบออกบตรสมาชกใหกบลกคาลกคาสามารถเลอกซอสนคาไดตามตองการระบบจะทำาการยนยนรายการสงซอ และตดสตอกสนคาลกคาชำาระเงนตามรายการสงซอ และระบบออกใบเสรจรบเงน
ใหกบลกคา
ขอบเขตการทำางานผดแลระบบสามารถทำาการสงซอสนคากบบรษทคคา โดย
ระบบจะออกใบสงซอไปยงบรษทคคาผดแลระบบสามารถทำาการรบสนคาตามรายการสงซอสนคาระบบสามารถแสดงรายงานขอมลพนฐาน อาท เชน ขอมล
ลกคาทเปนสมาชก , ขอมลประเภทสนคา , ขอมลสนคา ระบบสามารถรายงานสนคาใกลหมด (ถงจดสงซอ)ระบบสามารถแสดงยอดขายสนคาสงสด 5 อนดบระบบสามารถแสดงรายการขายสนคาในแตละวน ระบบสามารถแสดขอมลสรปยอดการขาย และผลประกอบ
การในแตละเดอนอน ๆ .... ลองพจารณาเพม
6
Designing Databases is . . . การออกแบบฐานขอมล (
Designing Databases ) มความสำาคญตอการจดการระบบฐานขอมล (DBMS ) ทงนเนองจากขอมลทอยภายในฐานขอมลจะตองศกษาถงความสมพนธของขอมล โครงสรางของขอมลการเขาถงขอมลและกระบวนการทโปรแกรมประยกตจะเรยกใชฐานขอมล
7
ขนตอนการออกแบบ Relation Database
ขนตอนการดำาเนนการ การออกแบบฐานขอมลเชงสมพนธ ม 6 ขนตอน การรวบรวมและวเคราะหความตองการในการใช
ขอมล การเลอกระบบจดการฐานขอมล การออกแบบฐานขอมลในระดบแนวคด การนำาฐานขอมลทออกแบบในระดบแนวคดเขาส
ระบบจดการฐานขอมล การออกแบบฐานขอมลในระดบกายภาพ การนำาฐานขอมลไปใชและการประเมนผล
8
ขนตอนการออกแบบ Relation Database
การรวบรวมและวเคราะหความตองการในการใชขอมล ขนตอนนขอมลจะไดมาจากแบบ
ฟอรมตางๆ เชน ใบสงซอ , ใบเสรจรบเงน , หรอหนาตารายงานทตองการแสดงผล เชน รายงานลกคาทชำาระเงนแลว ,รายงานการสงซอสนคาประจำาวน
9
ขนตอนการออกแบบ Relation Database
การเลอกระบบจดการฐานขอมล ขนตอนนคณตองตดสนใจวาคณจะเลอกใช
DBMS ตวไหน เชน SQLServer, MS Access, MySQL, Oracle ฯ (ไมตองคดมาก คณกเอามาจากบทท 1 ของคณ นอกจากลองไปศกษาดแลวมเหตใหตองเปลยน กเปลยนได )
ทำาไมตองเลอก ? เพราะวาจะเอามากำาหนดชนดของขอมล ตอนทำาเปนตารางจา
10
ขนตอนการออกแบบ Relation Database
การออกแบบฐานขอมลในระดบแนวคด การออกแบบฐานขอมลในระดบแนวความคด
หรอในระดบตรรกะ เปนขนตอนการออกแบบความสมพนธระหวางขอมลในระบบโดยใชแบบจำาลองขอมลเชงสมพนธ ซงอธบายโดยใชแผนภาพแสดงความสมพนธระหวางขอมล (E-R Diagram) จากแผนภาพ E-R Diagram นำามาสรางเปนตารางขอมล (Mapping E-R Diagram to Relation) และใชทฤษฏการ Normalization เพอเปนการรบประกนวาขอมลมความซำาซอนกนนอยทสด
11
ขนตอนการออกแบบ Relation Database
กำาหนด Entity Strong Entity Weak Entity
กำาหนด Attribute Composite attribute
Simple attribute
Single-value attribute
Multivalued attributes
Derived attributes
กำาหนด Primary Key กำาหนด Relationship
1:1 1:M M:N
ชนดความสมพนธ Unary/Recursive Binary Ternary
EER
12
ขนตอนการออกแบบ E-R Diagram : Sale System
1. กำาหนด Entity และ Attribute พรอมพจารณาวาเปน
Entity คอ ขอมลทเราสนใจจะจดเกบขอมล ขอมลหาไดจากไหน ?
•แบบฟอรม •รายงาน •ขอมลอน ๆ ทเราไปหา requirement อาจโดยการพดคย
สมภาษณ หรอแบบสอบถามAttribute คอ รายละเอยดหรอคณลกษณะของ
Entity นน ๆ เชนตองการจดเกบขอมลหนงสอ (Entity)ซง รายละเอยดหนงสอ (Attribute )ประกอบดวย รหสหนงสอ ชอเรอง ผแตง รปภาพ เปนตน
ขนตอนการออกแบบ ขนตอนการออกแบบ EE--R Diagram : Sale SystemR Diagram : Sale System
ขอบเขตการทำางานจดการขอมลสนคาและประเภทสนคาในรานโดยผดแลระบบ
(เจาของราน)จดการขอมลบรษทคคาของสนคาโดยโดยผดแลระบบ (เจาของ
ราน)ลกคาแบงเปน 2 ประเภท คอ ลกคาจร กบลกคาสมาชก โดย
ลกคาสมาชกอาจมการใหสวนลด ลกคาสามารถสมครสมาชกผานการกรอกแบบฟอรมใบสมคร
และระบบออกบตรสมาชกใหกบลกคาลกคาสามารถเลอกซอสนคาไดตามตองการระบบจะทำาการยนยนรายการสงซอ และตดสตอกสนคาลกคาชำาระเงนตามรายการสงซอ และระบบออกใบเสรจรบเงน
ใหกบลกคา
ขอบเขตการทำางานผดแลระบบสามารถทำาการสงซอสนคากบบรษทคคา โดย
ระบบจะออกใบสงซอไปยงบรษทคคาผดแลระบบสามารถทำาการรบสนคาตามรายการสงซอสนคาระบบสามารถแสดงรายงานขอมลพนฐาน อาท เชน ขอมล
ลกคาทเปนสมาชก , ขอมลประเภทสนคา , ขอมลสนคา ระบบสามารถรายงานสนคาใกลหมด (ถงจดสงซอ)ระบบสามารถแสดงยอดขายสนคาสงสด 5 อนดบระบบสามารถแสดงรายการขายสนคาในแตละวน ระบบสามารถแสดขอมลสรปยอดการขาย และผลประกอบ
การในแตละเดอนอน ๆ .... ลองพจารณาเพม
Entity Attribute Entity Attribute และ และ PKPKจากขอบเขตของระบบ เราสามารถคนหา Entity และกำาหนด
Attribute และ PKได ดงนจดการขอมลสนคาและประเภทสนคาในรานโดยผดแล
ระบบ (เจาของราน) Entity หนงสอ(สนคา ) : Book (รหสหนงสอ , ชอเรอง ,
ผแตง , สำานกพมพ , isbn, รปหนงสอ , ราคาทน , ราคาขาย ,จำานวนคงเหลอ , จดสงซอ , เรองยอ)
Entity หมวดหม(ประเภทสนคา): Category (รหสหมวด , ชอหมวด)
Book
รหสหนงสอ
ชอเรอง
ผแตง
สำานกพมพ
ISBN รป ราคาทน
ราคาขาย
จำานวนคงเหลอ
จดสงซอ
เรองยอ
Category
รหสหมวดชอหมวด
Entity Attribute Entity Attribute และ และ PKPK จดการขอมลบรษทคคาของสนคาโดยโดยผดแลระบบ
Entity บรษทคคา : Partner (รหสบรษท , ชอบรษท ,ทอย , เบอรโทร , แฟกซ , ชอ-สกลผตดตอ, อเมล)
ลกคาแบงเปน 2 ประเภท คอ ลกคาจร กบลกคาสมาชก โดยลกคาสมาชกอาจมการใหสวนลด โดยลกคาสามารถสมครสมาชกผานการกรอกแบบฟอรมใบสมคร และระบบออกบตรสมาชกใหกบลกคา Entity ลกคา : Member (รหสสมาชก , ชอ-สกล , ท
อย , เบอรโทร , อเมล )
Partner
รหสบรษท
ชอบรษท
ทอยเบอรโทร
แฟกซ
ชอ-สกลผตดตอ
อเมล
Member
รหสสมาชก
ชอ-สกลทอย
เบอรโทร
อเมล
Entity Attribute Entity Attribute และ และ PKPKระบบจะทำาการยนยนรายการขายสนคา และตดสตอก
สนคา Entity รายการขาย(สนคา ) : Sale_Orders (เลขท
รายการขาย , วนทขาย , ยอดเงนรวมสทธ,เลขทใบเสรจ )ผดแลระบบสามารถทำาการสงซอสนคากบบรษทคคา
โดยระบบจะออกใบสงซอไปยงบรษทคคา Entity รายการสงซอ(สนคา)กบบรษทคคา :
Purchase_Orders (เลขทใบสงซอ , วนทสงซอ , ยอดเงนรวมสทธ , สถานะการรบหนงสอ)
Sale_Orders
เลขทรายการขาย
วนท ยอดรวมสทธ
เลขทใบเสรจ
Purchase_Orders
เลขทรายการสงซอ
วนท ยอดรวมสทธ
สถานะการรบ
Relationship
กำาหนดความสมพนธระหวาง Entity ทง 6 ทมความเกยวของกน 1. Entity หนงสอ กบ Entity หมวดหม มความสมพนธในลกษณะM:1 คอ หนงสอ 1 เลม จดอยได
1 หมวดหม และในทางกลบกน 1 หมวดหม มหนงสอได หลายเลม
Book CategoryhasM 1
รปความสมพนธท 1
• รหสหนงสอ• ชอเรอง• ผแตง• สำานกพมพ• ISBN• รปหนงสอ • ราคาทน• ราคาขาย• จำานวนคงเหลอ• จดสงซอ• เรองยอ
• รหสหมวดหนงสอ• ชอหมวด
Relationship
2 .Entity หนงสอ กบ Entity บรษทคคา มความสมพนธในลกษณะM:1 คอ หนงสอ 1 เลม จดจำาหนายโดยบรษทคคา 1 บรษท และในทางกลบกน
1 บรษท จดจำาหนายหนงสอได หลายเลม
Book PartnerhasM 1
รปความสมพนธท 2
• รหสหนงสอ• ชอเรอง• ผแตง• สำานกพมพ• ISBN• รปหนงสอ • ราคาทน• ราคาขาย• จำานวนคงเหลอ• จดสงซอ• เรองยอ
• รหสบรษทคคา• ชอบรษท• ทอย• เบอรโทร• แฟกซ• อเมล• ชอ-สกลผตดตอ
Relationship
3. Entity ลกคา(สมาชก ) กบ Entity หนงสอ มความสมพนธในลกษณะM:N คอ ลกคา(สมาชก ) 1 คน ซอหนงสอไดหลายเลม และหนงสอ 1 เลม กสามารถกลกคา(สมาชก ) ซอไดหลายคน หรอถามองในมมผขาย อาจอธบายไดวา รานขายหนงสอใหกบลกคา โดยหนงสอ 1 เลมขายใหลกคาได หลายคน และ ทางรานสามารถขายหนงสอได ใหกบลกคาแตละคนได หลายเลม
Member BookhasM N
Relationship
จากความสมพนธดงกลาว ทำาใหเกดจงเกด Composite Entity ใบรายการขาย ขนดงนน รปภาพความสมพนธขางตนจงถกเปลยนเปน
Member BookhasM N
Member Sale_Ordershas1 M BookhasM N
Relationship
จากความสมพนธ ใบรายการขาย กบ หนงสอ มลกษณะM:N คอ ใบรายการขาย 1 ใบมหนงสอไดหลายรายการ และหนงสอ 1 เลมกสามารถอยไดหลายใบรายการขาย จงเกด Composite Entity รายละเอยดใบรายการขาย
Member Sale_Ordershas1 M BookhasM N
รปความสมพนธท 3
• รหสสมาชก• ชอ-สกล• ทอย• เบอรโทร• อเมล
• รหสหนงสอ• ชอเรอง• ผแตง• สำานกพมพ• ISBN• รปหนงสอ • ราคาทน• ราคาขาย• จำานวนคงเหลอ• จดสงซอ• เรองยอ
• เลขทรายการขาย• วนท• ยอดเงนรวมสทธ• เลขทใบเสรจ
• จำานวนทขาย
Relationship
4. Entity ใบรายการสงซอหนงสอ(บรษทคคา ) กบ Entity หนงสอ มความสมพนธในลกษณะM:N คอ ใบรายการสงซอหนงสอ 1 ใบ สามารถสงซอหนงสอจากบรษทคคาได หลายรายการ และ หนงสอ 1รายการกสามารถอยไดหลายใบรายการสงซอ ณ วนเวลาทตางกน
Purchase_Orders BookhasM N
Relationship
จากความสมพนธดงกลาว ทำาใหเกดจงเกด Composite Entity รายละเอยดใบรายการสงซอ ขนดงนน
Purchase_Orders BookhasM N
รปความสมพนธท 4
• รหสหนงสอ• ชอเรอง• ผแตง• สำานกพมพ• ISBN• รปหนงสอ • ราคาทน• ราคาขาย• จำานวนคงเหลอ• จดสงซอ• เรองยอ
• เลขทใบรายการสงซอ• วนทซอ• ยอดเงนรวมสทธ• สถานะการบสนคา• จำานวนทสงซอ
E-R Diagram
นำารปความสมพนธทง 4 มาเชอมโยงกน
Book CategoryhasM 1
PartnerhasM 1
Member Sale_Ordershas1 M
M
N
has
Purchase_OrdersM
hasN
Mapping E-R to RelationMapping E-R to Relation กอน Map จะไดขอมลดงน
EntityBook Book(รหสหนงสอ , ชอเรอง , ผแตง , สำานกพมพ ,
isbn, รปหนงสอ , ราคาทน , ราคาขาย , จำานวนคงเหลอ ,จดสงซอ , เรองยอ)
Category Category(รหสหมวด , ชอหมวด)Partner Partner (รหสบรษท , ชอบรษท , ทอย , เบอรโทร ,
แฟกซ , ชอ-สกลผตดตอ, อเมล)Member Member (รหสสมาชก , ชอ-สกล , ทอย , เบอรโทร ,
อเมล )Sale_Orders
Sale_Orders (เลขทรายการขาย , วนทขาย , ยอดเงนรวมสทธ , เลขทใบเสรจ )
Purchase_Orders
Purchase_Orders (เลขทใบสงซอ , วนทซอ ,ยอดเงนรวมสทธ , สถานะการรบสนคา )
Mapping E-R to RelationMapping 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 RelationMapping E-R to Relation หลง Map จะไดขอมลดงน
(ตอ)Entity RelationOrders_Detail
Orders_Detail(เลขทรายการขาย* , รหสหนงสอ* , จำานวนทขาย)
Purchase_Detail
Purchase_Detail(เลขทใบสงซอ* , รหสหนงสอ* , จำานวนทสงซอ)
Normalization
พจารณาจากความสมพนธระหวาง attribute ของ entity ทง 8 พบวา เปน 3NF แลวเนองจาก เปน
2 NF แลว และไมมความสมพนธแบบ Transitive เกดขน
31
Data Dictionary
การทำา Data Dictionary คอ การกำาหนดรายละเอยดใหกบ Relation ดงน
Category (หมวดหมหนงสอ) ลำาด
บแอทรบ
วตความหมาย ชนด ขนา
ดคย หมายเหต
1 C_ID รหสหมวด tinyint
1 PK
Auto_Number
2 C_Na ชอหมวด varchar
50
32
Data Dictionary
Partner (บรษทคคา)
ลำาดบ
แอทรบวต
ความหมาย ชนด ขนาด
คย หมายเหต
1 P_ID รหสบรษท tinyint
1 PK Auto_Number
2 P_Na ชอบรษท varchar
50
3 P_Add ทอย varchar
50
4 P_Tel เบอรโทร varchar
15
5 P_Fax แฟกซ varchar
15
6 P_Contact
ชอ-สกลผตดตอ
varchar
30
7 P_Email
อเมล varchar
30
33
Data Dictionary
ลำาดบ
แอทรบวต ความหมาย ชนด ขนาด
คย หมายเหต
1 B_ID รหสหนงสอ varchar
10
PK
Auto_number
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
P_ID รหสบรษท tinyint
1 FK
Partner
book (หนงสอ)
34
Data Dictionary
member (สมาชก)
ลำาดบ
แอทรบวต
ความหมาย ชนด ขนาด
คย หมายเหต
1 M_Id รหสสมาชก int 4 pk auto_number
2 M_Na ชอ-สกลสมาชก varchar
50
3 M_Add ทอย varchar
50
4 M_Tel เบอรโทรศพท varchar
15
5 M_Mail อเมล varchar
20
35
Data Dictionary
Sale_Orders (รายการขายหนงสอ)
ลำาดบ
แอทรบวต
ความหมาย ชนด ขนาด
คย
หมายเหต
1 SO_Id เลขทรายการขาย
int 4 PK
auto_number
2 SO_Date
วนท varchar
10
3 SO_SNet
ยอดเงนรวมสทธ
decimal
7 ,2
4 SO_IdSlip
เลขทใบเสรจ int 4
5 M_Id รหสสมาชก int 4 FK
Member
36
Data Dictionary
Orders_Detail (รายละเอยดใบรายการซอสนคา) ลำา
ดบแอทรบ
วตความหมาย ชนด ขนา
ดคย หมายเหต
1 SO_Id เลขทรายการขาย
int 4 PK,FK
Sale_Orders
2 B_ID รหสหนงสอ varchar
10
PK ,FK
Book
3 OD_num
จำานวนทขาย tinyint
1
37
Data Dictionary
Purchase_Orders (รายการสงซอหนงสอกบบรษทคคา)
ลำาดบ
แอทรบวต
ความหมาย ชนด ขนาด
คย
หมายเหต
1 PO_Id เลขทรายการขาย
int 4 PK
auto_number
2 P O_Date
วนท varchar
10
3 P O_SNet
ยอดเงนรวมสทธ
decimal
8,2
4 PO_Status
สถานะการรบหนงสอ
int 4 0 = ยงไมไดรบ
1 = รบเรยบรอยแลว
5 B_ID รหสหนงสอ varchar
10
Book
38
Data Dictionary
Purchase_Detail (รายละเอยดรายการสงซอหนงสอ) ลำา
ดบแอทรบ
วตความหมาย ชนด ขนา
ดคย หมายเหต
1 PD_Id เลขทรายการขาย
int 4 PK,FK
Purchase_Orders
2 B_ID รหสหนงสอ varchar
10
PK ,FK
Book
3 PD _num
จำานวนทซอ int 4
39
db_bookshop : SQLServer
create database db_bookshopon 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%)
40
Table Category : SQLServer
create table Category(C_ID tinyint(1)primary key,C_Na varchar(50))
41
Table Partner : SQLServer
42
Table Book : SQLServer
43
Table Member : SQLServer
44
Table Sale_Orders : SQLServer
45
Table Orders_Detail : SQLServer
46
Table Purchase_Orders : SQLServer
47
Table Purchase_Detail : SQLServer
Diagram db_bookshop
Company LOGO