Microsoft Access 2007sarapadchangubon.ac.th/busicomp/laos/basicAccess.pdf · 2019-09-07 ·...

Post on 24-Apr-2020

1 views 0 download

Transcript of Microsoft Access 2007sarapadchangubon.ac.th/busicomp/laos/basicAccess.pdf · 2019-09-07 ·...

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 (ในการซอสนคาแตละครงสามารถเลอกสนคาตวเดมได)