Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
Microsoft Access 2007 สาขาวชาคอมพวเตอรธรกจ มหาวทยาลยราชภฏเชยงใหม
ฐานขอมล
• ฐานขอมล (Database) หมายถง วธการจดเกบขอมลอยางมระเบยบและเปนระบบ โดยใชเครองคอมพวเตอรมาเปนตวชวย สามารถเพมขอมล ลบขอมล สบคนขอมล รวมถงการวเคราะหขอมล • เชน ระบบการขายสนคาในซเปอรมารเกต มการจดเกบสนคาแยกเปนหมวดหม มการก าหนดรหสสนคา และมการก าหนดราคาและสวนลดอยางชดเจน ในขณะทเราซอสนคากจะมพนกงานใชเครองอานบารโคดทตวสนคา กจะทราบชอสนคาและราคา ท าใหคดเงนไดอยางถกตองและรวดเรว
รจกกบ Access
• Access เปนโปรแกรมทใชจดการกบฐานขอมลเชงสมพนธ (Relational Database) ประกอบไปดวยตารางหลายๆ ตารางทมความสมพนธกน เชน ตารางขอมลของลกคากบตารางสนคา • จดเดนของ Access คอ ใชงานงาย (เมอเทยบกบโปรแกรมประเภทเดยวกน) และมความยดหยนในการใชงาน เหมาะส าหรบการจดการขอมลในเครองคอมพวเตอร ไมวาจะเปนการคนหาขอมล การค านวณคา การน าขอมลมาวเคราะห การจดท ารายงานสรป และการเขยนโปรแกรมเพอพฒนาเปนแอพพลเคชนตอไป
วธเกบขอมลใน Access
Access เกบขอมลตางๆ ลงในตาราง ซงประกอบดวย แถว (Row) และคอลมน (Column) โดยเรยกขอมลในแตละคอลมนของตารางวา ฟลด (Field) และเรยกแตละแถวในตารางวา เรคอรด (Record) • ฟลด - สงตางๆ ทอางองถงในฐานขอมลเชน ชอคนนบเปน 1 ฟลด • เรคอรด - การรวมกนของแตละ 1 ฟลด เชน รายละเอยดของคน หนงคนในสมดโทรศพท เรยกวาเปน 1 เรคอรด (การรวมกนของหลายๆ ฟลด) • ตาราง - รายละเอยดของคนทกคนทอยในสมดโทรศพท ซงสมดโทรศพท 1 เลม คอ 1 ตาราง(การรวมกนของหลายๆ เรคอรด)
NAME ADDRESS TELEPHONE
SOMBAT P. BANGKOK 478-9876
SUCHADA M. CHIANGMAI 426-9765
NILORN C. LAMPHUN 205-1335
แตละ Column จะถอเปน 1 Field (Attribute)
แตละ Row จะถอเปน 1 Record (Tuple)
บรรทดแรก จะตองเปนชอฟลดเสมอ ทงหมดรวมเรยกวาเปน Table
Column =Fields(Attribute)
Record (Tuple)
Table
ค าศพททควรรจก
• เปนค าทอางองถงบคคล สถานท และสงของตาง ๆ เชน สนคา ใบสงซอ และลกคาเปนตน โดยแตละเอนทตจะตองเปนอสระตอกน แตสามารถมความสมพนธกบสงอนๆ ได • ถาสนใจในการสรางระบบฐานขอมลการสงซอสนคา เอนทตของระบบนจะประกอบไปดวย เอนทตลกคา ใบสงซอสนคา กบสนคา ดงรป
ใบสงซอ (Orders)
ลกคา(Customer)
สนคา (Products)
เอนทต (Entity)
• สงทใชอธบายรายละเอยดของแตละเอนทต เชน แอตทรบวตของเอนทตลกคา จะมชอ ทอย และรหสไปรษณย สวนแอตทรบวตใบสงซอ จะมรหสใบสงซอ วนทส งซอ ชอสนคา จ านวนสนคาทส ง และราคาสนคา เปนตน ซงเราสามารถแสดงเอนทต รวมทงแอตทรบวตได ดงรป
ใบสงซอ (Orders)
รหสใบสงซอ
วนทสงสนคา
วนทสงสนคา
รหสลกคาทสง
รหสสนคา
จ านวน
ลกคา(Customer)
รหสลกคา
ชอลกคา
ทอยลกคา
รหสไปรษณย
หมายเลขโทรศพท
สนคา (Products)
รหสสนคา
ชอสนคา
ราคาตอหนวย
รวมภาษดวยหรอไม
จ านวนสนคา
รหสสนคา
ชอสนคา
ชอเอนทต
แอตทรบวต ทงหมด
แอตทรบวต (Attribute)
• คอ ความสมพนธระหวางเอนทตตาง ๆ ในระบบ เชน ในระบบการสงซอสนคา จะประกอบดวย เอนทตใบสงซอสนคา และเอนทตลกคา ซงมความสมพนธจากลกคาไปยงใบสงซอสนคาเปนแบบหนงตอกลม (One-to-many) หมายความวา ลกคาสามารถสงซอสนคาไดหลาย ๆ ครง คอมใบสงสนคาหลายใบนนเอง แตใบสงซอแตละใบจะมาจากลกคาเพยงรายเดยวเทานน เปนตน ความสมพนธระหวางเอนทตสามารถแสดงไดดงรป
ใบสงซอ (Orders)
รหสใบสงซอ
วนทสงสนคา
วนทสงสนคา
รหสลกคาทสง
รหสสนคา
จ านวน
ลกคา(Customer)
รหสลกคา
ชอลกคา
ทอยลกคา
รหสไปรษณย
หมายเลขโทรศพท
1 N
ความสมพนธ (Relationships)
• การออกแบบฐานขอมลทมโครงสรางเชงสมพนธ สวนส าคญ คอ การออกแบบเทเบลเพอเกบขอมลกลมตาง ๆ โดยจะตองสามารถก าหนดความสมพนธระหวางกลมขอมลเหลานนได ซงจะตองวเคราะหใหไดวาขอมลเหลานนมความสมพนธกนอยางไร • ความสมพนธระหวางเทเบลมดวยกนทงหมด 3 ลกษณะคอ ▫ ความสมพนธแบบ 1:1 (One-to-One) ▫ ความสมพนธแบบ 1:N (One-to-Many) ▫ ความสมพนธแบบ M:N (Many-to-Many)
ชนดของความสมพนธ (Relationship)
• ความสมพนธแบบ 1:1 (One-to-One) เปนความสมพนธท 1 เรคอรดในเทเบลใดๆ สามารถจบคกบเรคอรดในอกเทเบลไดเพยงเรคอรดเดยวเทานน แบบตวตอตว
รหส ชอ นามสกล ทอย โทรศพท .......
1001 Michale Suyama London (77)555-9888 ……
1002 Laura Callahan Seattle (71)555-7654 ……
1003 RObert King London (48)876-4324 ……
1004 Anne Dodsworth London (75)764-8732 ……
รหส เงนเดอน เลขทบตรประกนสงคม
1001 25,000 324-45-9687
1002 20,000 245-37-7654
1003 30,000 459-87-897
1004 35,000 895-87-7545
1005 33,000 678-54-8754
1
1
รายละเอยดสวนบคคล
เงนเดอนของแตละบคคล
ความสมพนธแบบ 1:1 (One-to-One)
• ความสมพนธแบบ 1:N (One-to-Many) เปนความสมพนธทเรคอรดในเทเบลใดๆ สามารถจบคกบเรคอรดในอกเทเบลหนงไดหลายเรคอรด เชน ความสมพนธระหวางเทเบลลกคา และเทเบลการสงซอ ลกคาคนหนงจะมใบสงซอสนคาไดหลายใบ ในขณะทใบสงซอแตละใบ ตองมาจากลกคาเพยงคนเดยวเทานน
รหสลกคา ชอบรษท ทอย …..
1001 Sony Japan …..
1002 Beverage London …..
1003 Chop Bern …..
รหสสงซอ รหสลกคา รหสสนคา …..
12010 1001 ME-99 …..
12013 1003 BE-88 …..
12014 1002 NE-87 …..
12105 1003 NE-87 …..
ลกคา การสงซอ
1
N
ความสมพนธแบบ 1:N (One-to-Many)
• ความสมพนธแบบ M:N (Many-to-Many) คอลกษณะทเรคอรดหลายๆ เรคอรดในเทเบลหนง มความสมพนธกบอกหลายๆ เรคอรดในอกเทเบลหนงพรอมกน เชน ความสมพนธระหวางเทเบลลกคา และเทเบลสนคา ลกคาหนงคนสามารถซอสนคาไดหลายชนด ในขณะทสนคาแตละชนดกจะถกซอโดยลกคาหลาย ๆ คนไดดวย การสรางความสมพนธประเภทน ตองใชเทเบลอนมาชวยเปนสะพานในการเชอมโยง
ความสมพนธแบบ M:N (Many-to-Many)
เพอเพมประสทธภาพในการจดการฐานขอมล เชนการอางองการคนหา การแกไขขอมลในแถวใด ๆ หรอการก าหนดความสมพนธระหวาง เทเบล ประเภทของคย อาจแบงเปน 5 ประเภทหลก คอ
1) คยหลก (Primary Key)
2) คยล าดบรอง (Secondary Key)
3) คยคแขง (Candidate Key)
4) คยรวม (Compound Key)
5) คยนอก (Foreign Key)
ชนดของคยในฐานขอมลเชงสมพนธ
1.คยหลก (Primary Key) เปนแอททรบวตทมคณสมบตของขอมลทเปนคาเอกลกษณหรอมคาทไมซ าซอนกน คณสมบตดงกลาวจะสามารถระบวาขอมลนนเปนขอมลของทเพล/เรคอรดใด แอททรบวตทมคณสมบตเปนคยหลกอาจ ประกอบดวยหลายแอททรบวต/คอลมน/ฟลดรวมกน เพอทจะก าหนดคาทเปนเอกลกษณได คยหลกทประกอบดวยหลายแอททรบวตนเรยกวา คยผสม(Composite Key) นนคอเมอแอททรบวตแตละตวประกอบกนจงจะใหคาทเปนเอกลกษณหรอไมซ าซอนกนได
ชนดของคยในฐานขอมลเชงสมพนธ
2) คยล าดบรอง (Secondary Key)
หรอ บางครงเรยกวา อนเดกซ (Index) ดชน ซงนอกจากก าหนดคยหลกใหกบแตละ เทเบล ยงสามารถใช อนเดกซ เปนคยชวยในการคนหาหรอจดเรยกกลมแถวทมจ านวนมาก ๆ ไ ด อยางรวดเรว เชน การคนหาชอและนามสกลของพนกงานในเทเบลพนกงานเปน คยหลกอยแลว
ชนดของคยในฐานขอมลเชงสมพนธ
พนกงาน
รหสพนกงาน ชอ นามสกล ทอย เบอรโทรศพท
1001 Michael Suyana Conventry Hourse London 02-735-8564
1002 Laura Callahan 4726 Ave.N.E Seattle 02-856-9874
1003 Robert King Edgeham Hollow London 02-896-9632
1004 Anne Dodsworth 7 Hondstood RD. London 01-589-3658
INDEX
ชอ นามสกล
Anne Dodsworth
Laura Callahan
Michael Suyana
Robert King
ชนดของคยในฐานขอมลเชงสมพนธ
3) คยคแขง (Candidate Key)
เปน คยทมคณสมบตทสามารถเปนแทน คยหลกได ถาจากขอมลในตาราง พนกงานถามนใจวา ชอพนกงาน ไมมชอซ าสามารถ สามารถน าcolumn ชอ มาเปน Secondary คยได
พนกงาน
รหสพนกงาน ชอ นามสกล ทอย เบอรโทรศพท
1001 Michael Suyana Conventry Hourse London 02-735-8564
1002 Laura Callahan 4726 Ave.N.E Seattle 02-856-9874
1003 Robert King Edgeham Hollow London 02-896-9632
1004 Anne Dodsworth 7 Hondstood RD. London 01-589-3658
Candidate Key
ชนดของคยในฐานขอมลเชงสมพนธ
4) คยรวม (Compound Key)
เปน คยทเกดจากการน าคอลมนหลาย ๆ คอลมนมารวมกน เพอใหคณสมบตเปนคยหลกคอ ไมมขอมลซ ากน และไมมคาวาง (NULL) เนองจากการบางครงการสรางคยหลกจากคอลมนเดยวเดยวอาจมโอกาสทจะเกดขอมลซ ากนได
ชนดของคยในฐานขอมลเชงสมพนธ
พนกงาน
ชอ นามสกล ทอย เบอรโทรศพท
Michael Suyana Conventry Hourse London 02-735-8564
Laura Callahan 4726 Ave.N.E Seattle 02-856-9874
Robert King Edgeham Hollow London 02-896-9632
Anne Dodsworth 7 Hondstood RD. London 01-589-3658
(หากไมม รหสพนกงาน) อาจใชคอลมน ชอและนามสกลรวมกนเปน Primary Key ได สมมตฐานวาจะไมมคนใชชอ และ นามสกลเดยวกนเรยกวา Compound Key
คยรวม (Compound Key)
ชนดของคยในฐานขอมลเชงสมพนธ
5) คยนอก (Foreign Key) เปนแอททรบวตในรเลชนหนงทใชในการอางองถง แอททรบวตเดยวกนในอกรเลชนหนง โดยทแอททรบวตนจะมคณสมบตเปนคยหลกในรเลชนทถกอางองถง การทมแอททรบวตนปรากฏอยในรเลชนทงสองกเพอประโยชนในการเชอมโยงขอมลซงกนและกนนนเอง
ชนดของคยในฐานขอมลเชงสมพนธ
Attribute ใดคอ คยนอก (Foreign Key) ??
รหสนกศกษา
ชนดของคยในฐานขอมลเชงสมพนธ
รหสการส งซอ
รหสลกคา วนทส ง วนทสง
10258 015 21/10/xx 28/10/xx
10265 181 21/10/xx 27/10/xx
10278 015 24/10/xx 3/11/xx
รหสการส งซอ รหสสนคา จ านวน สวนลด(%)
10258 005 8 25.00%
10258 0100 8 0.00%
10258 0125 15 0.00%
10265 0005 31 0.00%
10265 0010 15 0.00%
ตารางรายการสงสนคา ตารางใบสงสนคา
Primary Key
Foreign Key
Composite Key
1 N
รหสจงหวด ชอจงหวด
จ านวนประชากร
001 เชยงราย 4,500,000
002 เชยงใหม 5,000,000
003 ล าพน 2,500,000
Candidate Key
รปตวอยางของคย
ในการจดเกบขอมลในฐานขอมลเชงสมพนธนน มขอก าหนดเพอสรางความถกตองสมบรณของขอมล (Integrity) ในฐานขอมลดงน
กฎทใชจดเกบในฐานขอมลเชงสมพนธ
กฎขอท 1 ทกเทเบลตองมคยหลก (Primary Key)
Phone Book
NAME TELEPHONE
Anna 02-456-6985
Laura 02-865-7456
Michael 02-856-6321
Anna 02-549-9856
Phone Book
ID NAME TELEPHONE
1001 Anna 02-456-6985
1002 Laura 02-865-7456
1003 Michael 02-856-6321
1004 Anna 02-549-9856
กฎทใชจดเกบในฐานขอมลเชงสมพนธ
กฎขอท 2
ในการสรางความสมพนธระหวางเทเบล 2 เทเบลในฐานขอมลเชงสมพนธสามารถก าหนด (Foreign Key) ซงอาจจะมคา NULL (ไมมขอมล) หรอมคาตรงกบคยหลกในอกเทเบลหนงทมความสมพนธกนดวย
กฎทใชจดเกบในฐานขอมลเชงสมพนธ
Employee
EMP_ID NAME TELEPHONE DEP_NO
1001 Anna 02-456-6985 100
1002 Laura 02-865-7456 300
1003 Michael 02-856-6321 NULL
1004 Anna 02-549-9856 200
Department
DEP_NO DEP_NAME
100 Accounting
200 Marking
300 Computer
400 Sale
กฎทใชจดเกบในฐานขอมลเชงสมพนธ
วตถประสงคของการออกแบบฐานขอมล • เพอลดความซ าซอนในฐานขอมล • ตอบสนองความจ าเปนในการเรยกใชขอมลในเวลาทส นทสด • ชวยใหตรวจสอบความถกตอง และจดมาตรฐานขอมลไดสะดวก • เพอก าหนดลกษณะการเขาถงขอมลส าหรบผใชแตละประเภท • ท าใหมความอสระระหวางขอมลกบแอพพลเคชน
การออกแบบฐานขอมล
• ขนตอนการแบบฐานขอมล ▫ ก าหนดเอนทต (ตาราง)ทกตวในระบบฐานขอมลนน ▫ ก าหนดคยหลก และแอตทรบวต (ฟลด)ตาง ๆ ▫ ก าหนดความสมพนธระหวางเอนทต (ตาราง)ตาง ๆ ▫ ท าการเปลยนเอนทต ไดไปอยในรปตารางทม ความสมพนธกน ใบสงซอ
(Orders)
รหสใบสงซอ
วนทสงสนคา
วนทสงสนคา
รหสลกคาทสง
รหสสนคา
จ านวน
ลกคา(Customer)
รหสลกคา
ชอลกคา
ทอยลกคา
รหสไปรษณย
หมายเลขโทรศพท
สนคา (Products)
รหสสนคา
ชอสนคา
ราคาตอหนวย
รวมภาษดวยหรอไม
จ านวนสนคา
รหสสนคา
ชอสนคา
1 : N N : M
Microsoft Access 2007
• Quick Access เกบปมค าสงทใชงานบอยๆ โดยเราสามารถเพมหรอลบปมค าสงตามความเหมาะสม
• Ribbon เปนทเกบค าสงและปมทใชใน Access โดยแบงเปนแทบและในแตละแทบยงแบงค าสงเอาไวเปนกลมยอย เพอสะดวกตอการใชงาน
• Navigation Pane จะแสดงชอฐานขอมล และแสดง Object ทเปนสวนประกอบตางๆ ของ Access เชน ตาราง ควร ฟอรม รายงาน ฯลฯ
• Tabbed Documents ในกรณทเราเปดตาราง ฟอรม ควร รายงาน รวมถง Object อน จะแสดง Object ทเปดอยท งหมด
• Status bar จะแสดงขอมลบางอยางและปมส าหรบสลบมมมอง
สวนประกอบของ Microsoft Access 2007
• แทบ Home (หนาแรก) เปนแทบทรวบรวมชดเครองมอพนฐานทผใชงานสวนมากตองใชบอยๆ เปนประจ า เชน การเปลยนมมมอง การตดและแปะขอมล การเปลยนรปแบบตวอกษร การเพมลบขอมลในตาราง การกรองขอมลและการคนหาขอมล
ชดเครองมอของโปรแกรม Access 2007
• แทบ Create (สราง) เปนแทบทใชส าหรบสรางออบเจกตหรอองคประกอบตางๆ ลงไปในฐานขอมล อนไดแก ตาราง ฟอรม รายงาน และควร รวมถง Macro
ชดเครองมอของโปรแกรม Access 2007
• แทบ External Data (ขอมลภายนอก) เปนแทบทมค าสงเกยวกบการแลกเปลยนขอมลภายนอก เชน การน าขอมลจากไฟลอนของ Access หรอจากไฟล Excel มาใช การ save ฐานขอมลใหเปนตาราง Excel หรอการ save เปนเอกสาร Word เปนตน
ชดเครองมอของโปรแกรม Access 2007
• แทบ Database Tools (เครองมอฐานขอมล) เปนแทบทมค าสงในการจดการฐานขอมล เชน การสราง Macro และเขยนค าสง การก าหนดความสมพนธระหวางตาราง การวเคราะหขอมล การจดการโยกยายฐานขอมล และการเขารหสฐานขอมล
ชดเครองมอของโปรแกรม Access 2007
ขนตอนการสรางฐานขอมลดวย Access ม 5 ขนตอน • ขนตอนท 1 ออกแบบฐานขอมล การออกแบบฐานขอมล จะเรมจากพจารณาวตถประสงคของการใชงานฐานขอมล จากนนน าเอาขอมลทตองการจดเกบ ตลอดจนขอมลทตองใชงานทงหมดมาอางองกบทฤษฎการออกแบบฐานขอมล เพอใหไดขอมลทถกตอง งายตอการใชงาน สะดวกตอการบ ารงรกษา ตลอดจนสามารถใชงานรวมกบฐานขอมลอนๆ
ขนตอนการสรางฐานขอมลดวย Access
• ขนตอนท 2 สรางตารางและก าหนดความสมพนธ หลงจากออกแบบฐานขอมลเรยบรอย ตอไปคอการสรางตารางทเกยวของ เพอใชส าหรบเกบขอมลตามทไดออกแบบไว จากนนก าหนดความสมพนธระหวางตารางตามความเหมาะสม • ขนตอนท 3 สรางฟอรมส าหรบกรอกขอมล การกรอกขอมลลงไปในตาราง ซงการกรอกขอมลลงในตารางนนไมคอยสะดวกและอาจผดพลาดไดงาย ทางทดกวาคอสรางฟอรมส าหรบกรอกขอมลโดยตรง โดยฟอรมจะมลกษณะทเออตอการกรอกขอมลลงในฐานขอมล ท าใหผกรอกขอมลสามารถท างานไดงายและสะดวกยงขน อกทงยงลดความผดพลาดได
ขนตอนการสรางฐานขอมลดวย Access
• ขนตอนท 4 สรางควรเพอดงขอมลทตองการ หลงจากกรอกขอมลลงในฐานขอมลเรยบรอย จะพบวาในการใชงานจรง เราไมไดใชงานขอมลพรอมกนทงหมด ใชแคเพยงบางสวนเทานน ดวยเหตน Access จงไดเตรยมเครองมอและค าสงส าหรบการดงเอาขอมลเฉพาะทตองการ ซงกคอ Query (ควร) • ขนตอนท 5 จดท ารายงาน ในการใชงานฐานขอมล หากตองสรปผล เราสามารถสรปผลดวยการท ารายงาน ขอมลทจะน ามาจดท ารายงานนนสามารถดงขอมลลงมาจากตาราง หรอน าขอมลมาจากควรทไดกลนกรองขอมลไวแลวกได
ขนตอนการสรางฐานขอมลดวย Access
ขนตอนการออกแบบฐานขอมล สามารถแบงเปน 6 ขนตอนดงน
ขนตอนการสรางฐานขอมลดวย Access
Step 1: ก าหนดวตถประสงคในการออกแบบฐานขอมล
Step 2: ก าหนดตารางทตองใชเกบขอมล
Step 3: ก าหนดวาในแตละตารางจะตองมฟลดอะไรบาง
Step 4: ก าหนดคยหลก
Step 5: ท า Normalization
Step 6: ก าหนดความสมพนธระหวางตาราง
ขนตอนแรกใหก าหนดวตถประสงคของฐานขอมลกอน วธการคอ “การซอหนงสอแตละครงมอะไรเกยวของบาง” จากนนเรมออกแบบฐานขอมล จากตวอยางใหพจารณาวา “เมอมลกคามาซอสนคา ผขายตองสามารถเลอกรายการสนคาจากเครองคอมพวเตอร มการแสดงรายละเอยดของสนคา มการค านวณยอดเงนอตโนมต ค านวณเงนทอน พมพใบเสรจรบเงน และสามารถสรปยอดขายในแตละวน หรอในแตละสปดาหได
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
คนซอสนคาทตองการ
คดราคาสนคา รบเงนมา ทอนเงน
ตารางทใชเกบขอมล เมอทราบวตถประสงคของระบบฐานขอมล ใหพจารณาวาเราจะเกบขอมลอะไรบาง คอ การสรางตารางเพอรองรบขอมลทงหมด
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
ลกคา ตารางลกคา
การซอ ตารางซอสนคา
สนคา ตารางสนคา
ตารางรายละเอยดการซอ
ก าหนดฟลดในตาราง • ตารางลกคา เกบขอมลเกยวกบลกคาทงหมด เชน ชอ นามสกล
• ตารางสนคา เกบขอมลเกยวกบสนคา เชน รหสสนคา ชอสนคา ราคา รวมถงสวนลดของหนงสอแตละเลม โดยสวนใหญแลวหนงสอแตละเลมจะมสวนลดไมเทากน เชน หนงสอเกาทใกลหมดอายแลวตองจงใจดวยการใหสวนลดทมากกวาหนงสอใหม
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
รหสลกคา ชอลกคา นามสกลลกคา ทอย เบอรโทรศพท
รหสสนคา ชอสนคา ราคา สวนลด
• ตารางซอสนคา เกบขอมลเกยวกบการซอของแตละครง เชน เลขทใบสงซอ ใครคอผซอสนคา และซอสนคาเมอใด • ตารางรายละเอยดการซอ เกบรายละเอยดของการซอแตละครงวามการซอสนคาอะไรบาง ซอไปในราคาเทาใด (หลงจากหกสวนลดไปแลว) รวมทงไดซอสนคาไปอยางละกชน
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
รหสการซอ รหสลกคา วนทซอสนคา
รหสรายละเอยดการซอ รหสการซอ รหสสนคา ราคาหลงหกสวนลด จ านวนสนคา
ก าหนดคยหลก (Primary Key) ในแตละตารางจะตองมฟลดทเกบขอมลทไมซ ากน เชนพจารณาฟลดแรกคอ รหสลกคา ไมซ าแนนอน สวนฟลดทสองคอ ชอลกคาอาจจะซ ากนได ฟลดทสามคอนามสกลลกคา กสามารถซ ากนไดถาลกคาเปนพนองกน ฟลดทอยและเบอรโทรศพทกซ ากนได ดงนนตองใชฟลดรหสลกคา เปน Primary Key
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
รหสลกคา ชอลกคา นามสกลลกคา ทอย เบอรโทรศพท
การท า Normalization เปนกระบวนการพจารณาปรบเปลยนตาราง เพอใหมความถกตองและลดความซ าซอนกนของขอมล หลกเลยงปญหาทอาจะเกดขนมาภายหลง ในการออกแบบฐานขอมลการ Normalization ถกแบงออกเปน 5 ระดบ โดยเรมจาก 1NF, 2NF, 3NF, 4NF และ 5NF โดยในแตละระดบจะมขอก าหนดในการปรบเปลยนตารางเพอใหไดตารางทมความถกตอง
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
การท า Normalization ระดบท 1 (1NF=First Normal Form) มขอก าหนดวา ทกๆ เซลลในตารางจะตองเกบคาเพยงคาเดยวเทานน ยกตวอยางการ 1NF ตารางสงซอทออกแบบดงน
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
รหสการซอ รหสลกคา วนทซอสนคา รหสสนคา ราคาขาย จ านวนสนคา
001 สมชาย001 12 ส.ค.54 B001 135 บาท 1 ชน
T001 135 บาท 1 ชน
002 มาน002 14 ส.ค.54 M001 535 บาท 1 ชน
003 มานะ003 15 ส.ค.54 B001 135 บาท 1 ชน
จากตวอยางตารางการสงซอ มขอมลในฟลดรหสลกคาและวนทซอสนคาทเกบขอมลมากกวาหนงเซลล ซงไมเปนตามกฎเกณฑของระดบท 1 ดงนนจงตองปรบตารางดงน
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
รหสการซอ รหสลกคา วนทซอสนคา รหสสนคา ราคาขาย จ านวนสนคา
001 สมชาย001 12 ส.ค.54 B001 135 บาท 1 ชน
001 สมชาย001 12 ส.ค.54 T001 135 บาท 1 ชน
002 มาน002 14 ส.ค.54 M001 535 บาท 1 ชน
003 มานะ003 15 ส.ค.54 B001 135 บาท 1 ชน
การท า Normalization ระดบท 2 มขอก าหนดวา จะตองผาน 1NF และฟลดอนๆ ทไมใชคยหลก (Primary Key) จะตองขนกบคยหลกเพยงอยางเดยวเทานน และในกรณทมคยรวม (Composition Key) ฟลดอนๆ กตองขนอยกบคยรวมเหลานน ไมใชบางสวนของคย ดงนนตารางการสงซอจะถกแบงออกเปน 2 ตาราง ไดแก ตารางสงซอและตารางรายละเอยดการสงซอ ดงน คยรวมคอการน าฟลดตงแต 2 ฟลดมาท าเปนคย ตารางรายละเอยดการสงซอไมสามารถเลอกฟลดใดๆ มาเปนคยไดเพราะซ ากน แตน าฟลดรหสใบสงซอกบรหสสนคามาท าเปนคยรวม ขอมลจะไมซ ากน สามารถใชเปนคยไดทนท
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
การท า Normalization ระดบท 2 ตารางการสงซอ ตารางรายละเอยดการสงซอ
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
รหสการซอ รหสลกคา วนทซอสนคา
001 สมชาย001 12 ส.ค.54
001 สมชาย001 12 ส.ค.54
002 มาน002 14 ส.ค.54
003 มานะ003 15 ส.ค.54
รหสการซอ รหสสนคา ราคาขาย จ านวนสนคา
001 B001 135 บาท 1 ชน
001 T001 135 บาท 1 ชน
002 M001 535 บาท 1 ชน
003 B001 135 บาท 1 ชน
การท า Normalization ระดบท 3 มขอก าหนดวา จะตองผาน 2NF และฟลดอนๆทไมใชคยหลก (Primary Key) จะไมขนตอกนเอง ดงนนตารางสนคา ซงมการเกบรหสสนคา ชอสนคา ราคาประเภทสนคาและชอประเภท
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
รหสสนคา ชอสนคา ราคาตามปาย รหสประเภทสนคา ประเภทสนคา
B001 ซดพเบรด 140 บาท FC001 ซด
T001 ซดพแทง 140 บาท FC001 ซด
M001 ดวดทายาหรอยง 600 บาท FC001 ดวด
การท า Normalization ระดบท 3 จากตารางขางตนจะเหนไดวา ฟลดประเภทสนคาขนอยกบฟลดรหสประเภทสนคา ซงไมใชคยหลก ดงนนจงตองแยกตารางออกมาเปน 2 ตารางคอ ตารางสนคาและตารางประเภทสนคา ตารางสนคา ตารางประเภทสนคา
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
รหสสนคา ชอสนคา ราคาตามปาย รหสประเภทสนคา
B001 ซดพเบรด 140 บาท FC001
T001 ซดพแทง 140 บาท FC001
M001 ดวดทายาหรอยง 600 บาท FC002
รหสประเภทสนคา ประเภทสนคา
FC001 ซด
FC002 ดวด
การก าหนดความสมพนธ ▫ ความสมพนธแบบ 1:1 (One-to-One) ▫ ความสมพนธแบบ 1:N (One-to-Many) ▫ ความสมพนธแบบ M:N (Many-to-Many)
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
ตารางส าหรบการขายหนงสอ ประกอบไปดวย 4 ตารางดงน • ตารางลกคา (CustomerTbl) เกบขอมลเกยวกบลกคา • ตารางสนคา (ProductTbl) เกบขอมลเกยวกบรายการสนคาหรอผลตภณฑตางๆ • ตารางซอสนคา (TransactionTbl) เกบขอมลเกยวกบการซอสนคา เชน ชอเมอใด ใครเปนคนซอ • ตารางรายละเอยดการสงซอ (TransactionDatailTbl) เกบขอมลเกยวกบรายการสนคาทซอในแตละครง เชน สนคาทลกคาซอ จ านวนสนคาทซอ สวนลด ราคาทจ าหนาย
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
1. Blank Database
2 3
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
2
3
1
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
2. ก าหนดชนดขอมล 3. กรอกค าอธบาย
1. กรอกชอเขตขอมล
4. ขนาดเขตขอมล
• Field name
• Data Type
ใชส าหรบก าหนดชอฟลด
ใชส าหรบก าหนดประเภทขอมลของ Field ประกอบดวย ชนดขอมล ค าอธบาย
Text ขอมลตวเลข ตวอกษร หรอผสมกนระหวางตวเลขและตวอกษรทมขนาดยาวไมเกน 255 ตวอกษร เชน ชอ นามสกล ทอย รหสสนคา เปนตน
Memo เปนขอมลตวเลข ตวอกษร หรอผสมกนระหวางตวเลขและตวอกษร เชน บนทก
Number เปนขอมลตวเลขทสามารถน าไปใชในการค านวณ เชน ราคาสนคา
Date/Time เปนขอมลวนเดอนปและเวลา (สามารถน าไปค านวณชวงเวลาได)
Currency เปนขอมลตวเลขโดยแสดงขอมลในแบบสกลเงน
AutoNumber เปนขอมลตวเลขทใหรนอตโนมต เชน ล าดบท
Yes/No เปนขอมลตรรกะ ซงมคาได 2 คาคอ “ใช” และ “ไมใช”
OLE Object เปนขอมลอนๆ โดยมากมกเปนไฟลมลตมเดย เชน ภาพ เสยง วดโอ
Hyperlink เปนขอมลทสามารถลงกไปยงขอมลอนๆ ได
Lookup Wizard เปนขอมลทเชอมกบตารางหรอแบบสอบถามในสวนอน
การเพมความสามารถใหตาราง
• คณสมบตเพมเตมทตองก ำหนด ใหกบฟลด
ชนดขอมลยอย รำยละเอยด
Byte เกบตวเลขทมคาตงแต 0-255
Integer เกบเลขจ านวนเตมทมคาตงแต -32,768 ถง +32,767
Long integer เกบเลขจ านวนเตมทมคาตงแต -2,147,483,648 ถง +2,147,483,647
Single เกบเลขทศนยมทมคาตงแต -3.4 x 1,038 ถง -1.4 x 10-45 ส าหรบจ านวนลบ และ 3.4 x 1038 ถง 1.4 x 10-45 ส าหรบจ านวนบวก
Double เกบเลขทศนยมทมคาตงแต -1.797 x 10308 ถง -4.94 x 10324 ส าหรบจ านวนลบ และ 1.797 x 10308 ถง 4.94 x 10324 ส าหรบจ านวนบวก
Decimal เกบเลขทมคาตงแต -1028 -1 ถง 1028 – 1
Replication ID
เกบชนดขอมลทใชในเรอง Replication
การก าหนด
Field size : ใชเฉพาะกบ Text
และ Number เทานน
กรณใชกบ “Text” เปนการก าหนดจ านวนตวอกขระทสามารถ
เกบไดสงสด
กรณใชกบ Number
การเพมความสามารถใหตาราง
• Format ใชก าหนดรปแบบการแสดงผลของฟลด และสามารถก าหนดรปแบบไดเอง นอกเหนอจากทเลอกไดจาก Combo box โดยใชขอมลในตารางดงน
การก าหนดรปแบบการแสดงผล
การเพมความสามารถใหตาราง
• Decimal Places ก าหนดเพอแสดงต าแหนงจดทศนยม จะมผลกบเฉพาะขอมลชนด Number, Currency • Caption เปนขอความทจะใหแสดงบนหวคอลมนในมมมอง Table
Datasheet แทนทชอฟลด
การก าหนดรปแบบของคาทปอนใหฟลด
• Input Mask เปนคณสมบตทบอกวา จะรบขอมลทใชปอนในรปแบบใดบาง เชน Zip code ทเกบรหสไปรษณย จะรบขอมลทเปนตวเลข (0-9) และรบได 5 ตวเทานน
• Default Value เปนคาเรมตนของฟลด ถามการเพมเรคอรดคานจะเปนคาแรกทก าหนดใหกบฟลดน
การเพมความสามารถใหตาราง
• Allow Zero Length ถาก าหนดเปน Yes คาของฟลดนจะสามารถเปนขอความวางได
• New Value ใชกบชนดขอมล Auto number เทานน เพอก าหนดวาคาใหมทจดใหนน เปนคาทเพมแบบ Increment หรอเปนคาสม (Random)
Note : คณสมบตใน Validation Rule เปนคณสมบตทเราตองก าหนดเปนนพจน (Expression) ทคาเปนจรง หรอเทจอยางใดอยางหนง ซงจะกลาวถงรายละเอยด ของนพจน ในสวนของการออกแบบสอบถามควรตอไป
การเพมความสามารถใหตาราง
• Validation Rule ใชก าหนดกฎทใชในการตรวจสอบความถกตองของฟลดน • Validation Text เปนขอความทจะใหแสดงเตอน เมอผใชใสขอมลลงไปในฟลดไมถกตองตามทก าหนด
การตรวจสอบความถกตองของขอมลท ปอนใหฟลด
ก าหนดใหมสนคาเพยง 4 ประเภท โดยใชเลข 1,2,3 และ 4 เทานน หากใสขอมลเลข 5 จะแสดงขอความเตอนวา”รหสสนคาตองมคา”1,2,3 และ 4”
ก าหนดใหราคาสนคาตองมคามากกวา 0 หากใสตวเลข < 0 จะแสดงขอความ “ราคาสนคาตองมคา > 0”
การเพมความสามารถใหตาราง
• รำยละเอยดคณสมบตตำง ๆ ทส ำคญของตำรำงทปรำกฏในหนำตำง Table properties มดงน
ชอคณสมบต รายละเอยด
Description ค าอธบายเพมเตมส าหรบตาราง
Validation Rule
ใชก าหนดกฎทใชในการตรวจสอบความถกตองของตาราง
Validation Text
เปนขอความทใหแสดงเตอน เมอใสคณสมบตฟลดไมถกตองตามทก าหนด
ตวอยางการก าหนดคณสมบตใหกบตาราง
การเพมความสามารถใหตาราง
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
ชอเขตขอมล (Field Name)
ชนดขอมล (Data Type)
ขนาดเขตขอมล (Field Size)
รปแบบ (Format)
ค าอธบาย (Description)
ProductID Text 25 รหสสนคา
ProductName Text 50 ชอสนคา
UnitPrice Number สกลเงน (Currency) ราคาสนคา
Discount Number Integer เปอรเซนตสวนลด
ตารางสนคา (บนทกไฟลเปน ProductTbl)
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
ชอเขตขอมล (Field Name)
ชนดขอมล (Data Type)
ขนาดเขตขอมล (Field Size)
รปแบบ (Format)
ค าอธบาย (Description)
CustomerID Text 13 รหสประจ าตวลกคา
CustomerFirstName Text 50 ชอลกคา
CustomerLastName Text 50 นามสกลลกคา
CustomerAddress Text 150 ทอยลกคา
CustomerTel Text 50 เบอรโทรศพทลกคา
ตารางลกคา (บนทกไฟลเปน CustomerTbl)
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
ชอเขตขอมล (Field Name)
ชนดขอมล (Data Type)
ขนาดเขตขอมล
(Field Size)
รปแบบ (Format)
คาเรมตน (Default Value)
ค าอธบาย (Description)
TransactionID AutoNumber Long Integer รหสการซอสนคา
CutomerID Text 15 รหสลกคา
OrderDate Date/Time General Date Now() วนเวลาทซอสนคา
ตารางซอสนคา (บนทกไฟลเปน TransactionTbl)
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
ชอเขตขอมล (Field Name)
ชนดขอมล (Data Type)
ขนาดเขตขอมล (Field Size)
รปแบบ (Format)
ค าอธบาย (Description)
TransactionDetailID AutoNumber Long Integer รหสรายละเอยดการซอสนคา
TransactionID Number Long Integer รหสการซอสนคา
ProductID Text 25 รหสสนคา
SalePrice Currency Currency ราคาจ าหนายหลงหกสวนลด
SaleAmount Number Integer จ านวนสนคา
ตารางรายละเอยดการซอ (บนทกไฟลเปน TransactionDetailTbl)
กรอกขอมลในตาราง
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
เลอกเปอรเซนตสวนลดจากรายการ ในการกรอกขอมลทมกมคาซ ากน เชน เปอรเซนตสวนลดหนงสอ สวนใหญมคาเปน 10 การกรอกตวเลขเดมทกๆ ครงคงนาเบอ
ดงนน เพออ านวยความสะดวกควรสรางรายการ (List) เพอสามารถเรยกใชตวเลขดงกลาวไดเลย
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
1
2
3
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
1
3
2. กรอขอมล 5 จนถง 50
4
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
ไมตองจ ารหสลกคาโดยใช Lookup Wizard ส าหรบการกรอกขอมลลงในตาราง TransactionTbl เราตองกรอกรหสลกคาลงในตาราง ซงแนนอนวาไมมใครจ ารหสสนคาไดทงหมด วธสะดวกคอ สงใหสามารถเลอกรหสและรายชอจากตารางไดเลย
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
1
2
3
4
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
5
6 7
8
9
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
10
11. ขยายคอลมน
12 13
14
ผลลพธทไดคอ จะมการแสดงเฉพาะรหสลกคา พรอมทงชอและนามสกล สาเหตคอตองใชรหสลกคาเปนหลก เพราะเวลากรอกมกเปนตวเลข สะดวกกวากรอกชอนามสกล และรองรบการใชบารโคดจากบตรสมาชกของลกคาไดอกดวย
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
ไมตองจ ารหสสนคาโดยใช Lookup Wizard ในตาราง TransactionDatailTbl จะตองมการกรอกรหสสนคา ซงไมมทางจะจ ารหสสนคาได ดงนนควรแสดงชอสนคาประกอบดวย วธนจะชวยใหสามารถเลอกรายการสนคาจากรายการทก าหนดไวทนท
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
1
2
3
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
4
5
6
7
8
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
9
10. ขยายคอลมน
11 12
13
ผลลพธทไดคอ จะมการแสดงเฉพาะรหสลกคา พรอมทงชอและนามสกล สาเหตคอตองใชรหสลกคาเปนหลก เพราะเวลากรอกมกเปนตวเลข สะดวกกวากรอกชอนามสกล และรองรบการใชบารโคดจากบตรสมาชกของลกคาไดอกดวย
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
ความสมพนธของแตละตาราง
1. ปดตารางทแสดงอยท งหมด
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
ความสมพนธของแตละตาราง
2. คลกแทบ Database Tools
3. คลกทปม Relationships
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
ความสมพนธของแตละตาราง
3. คลกขวาเลอก Delete
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
ความสมพนธของแตละตาราง 4. เมอลาก CustomerID มา
วางทตาราง TransactionTbl
5
6
7. เมอลาก TransactionID มาวางทตาราง
TransactionDetailTbl
8 9
10 เลข 8 บงคบใหม Referential Integrity เพอก าหนดใหมความสมพนธทมการอางองกนและกน เลข 9 ลบระเบยนทเกยวของทงหมด เพอก าหนดเงอนไขวาเมอใดทลบขอมลในตารางสนคารายละเอยดการซอสนคากจะหายไปดวย ซงตรงกบความเปนจรงวาเมอมการยกเลกการซอสนคา รายการสนคาในการซอนนจะตองถกลางไปจากรายการซอเชนกน
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
ความสมพนธของแตละตาราง
11 12
13
13
ตวอยางฐานขอมลส าหรบรานขายหนงสอ
สรปความสมพนธของแตละตาราง • ฟลด CustomerID ของตาราง CustomerTbl เชอมกบฟลด
CustomerID ของตาราง TransactionTbl ในแบบ One-To-Many (ลกคาหนงคนสามารถซอสนคาไดหลายครง) • ฟลด TransactionID ของตาราง TransactionTbl เชอมกบฟลด
TransactionID ของตาราง TransactionDetailTbl ในแบบ One-To-Many (การซอสนคาแตละครงสามารถซอสนคาไดหลายๆ ชน) • ฟลด ProductID ของตาราง TransactionDetailTbl เชอมกบฟลด
ProductID ของตาราง ProductTbl ในแบบ One-To-Many (ในการซอสนคาแตละครงสามารถเลอกสนคาตวเดมได)