Database
Download
1 / 184

Database - PowerPoint PPT Presentation


  • 99 Views
  • Uploaded on
  • Presentation posted in: General

Database. 204406 Business Database. วัตถุประสงค์รายครั้ง. นักศึกษาสามารถ อธิบายแนวคิดต่าง ๆ เกี่ยวกับฐานข้อมูลได้ อธิบายแนวทางการออกแบบ พัฒนา และจัดการฐานข้อมูลได้. ระบบจัดการฐานข้อมูล (DBMS). Microsoft SQL Server Oracle, etc. หัวข้อบรรยาย. ข้อมูล / สารสนเทศ ระบบจัดการฐานข้อมูล

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

Download Presentation

Database

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Database
Database

204406 Business Database


Database
วัตถุประสงค์รายครั้ง

นักศึกษาสามารถ

  • อธิบายแนวคิดต่าง ๆ เกี่ยวกับฐานข้อมูลได้

  • อธิบายแนวทางการออกแบบ พัฒนา และจัดการฐานข้อมูลได้


Database
ระบบจัดการฐานข้อมูล (DBMS)

Microsoft SQL ServerOracle, etc.


Database
หัวข้อบรรยาย

  • ข้อมูล/สารสนเทศ

  • ระบบจัดการฐานข้อมูล

  • สถาปัตยกรรมฐานข้อมูล

  • ER-Model

  • หลักการออกแบบ

  • SQL

  • Relational Algebra

  • Concurrency


Database
แนวคิดเกี่ยวกับฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

  • ข้อมูล/สารสนเทศ

  • Anomaly/Constraints

  • ความซ้ำซ้อน


Database
แนวคิดเกี่ยวกับฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

  • ข้อมูล/สารสนเทศ

แสดงรายละเอียดของหนังสือทุกคอลัมน์ที่ผู้แต่งคือคุณสมชาย และมีราคาต่ำกว่า 300 บาท

book


Database
แนวคิดเกี่ยวกับฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

  • ข้อมูล/สารสนเทศ

SELECT * FROMbook

WHERE author = ‘สมชาย’ AND price <300


Database
แนวคิดเกี่ยวกับฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

  • Anomaly/Constraints

book

publisher

Unique Key Constraints


Database
แนวคิดเกี่ยวกับฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

  • Anomaly/Constraints

book

publisher


Database
แนวคิดเกี่ยวกับฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

  • Anomaly/Constraints

book

publisher

Foreign Key Constraints


Database
แนวคิดเกี่ยวกับฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

  • ความซ้ำซ้อน

book

publisher


Database
แนวคิดเกี่ยวกับฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

  • ความซ้ำซ้อน

book


Database
Joinแนวคิดเกี่ยวกับฐานข้อมูล


Database
ระบบฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

  • Data Dictionary


Database
สถาปัตยกรรมฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

  • ระดับภายนอก – External

  • ระดับความคิด – Conceptual

  • ระดับภายใน – Internal


Database
สถาปัตยกรรมฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

ผู้ใช้

โปรแกรมเมอร์

วิว

  • ระดับภายนอก

  • ระดับความคิด

  • ระดับภายใน


Database
สถาปัตยกรรมฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

ผู้ใช้

โปรแกรมเมอร์

วิว

  • ระดับภายนอก

  • ระดับความคิด

  • ระดับภายใน


Database
การออกแบบฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

  • Conceptual Model

  • Logical Model

  • Physical Model


Database
การออกแบบฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

book

member

rental

  • Conceptual Model

  • Logical Model

  • Physical Model

book

rental

member

CREATE TABLE member

( member_id varchar(7), member_name varchar(50))


Database
การออกแบบฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

book

member

rental

  • Conceptual Model

  • Logical Model

  • Physical Model

CREATE TABLE member

( member_id varchar(7), member_name varchar(50))


Database
การออกแบบฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

ผู้ใช้

โปรแกรมเมอร์

วิว

book

member

rental

CREATE TABLE member

( member_id varchar(7), member_name varchar(50))


Database
การออกแบบฐานข้อมูลแนวคิดเกี่ยวกับฐานข้อมูล

Conceptual Design

ภายนอก

Logical Design

แนวคิด

Physical Design

ภายใน


Database
ระบบฐานข้อมูลเชิงสัมพันธ์ระบบฐานข้อมูลเชิงสัมพันธ์

  • Key

student


Database
ระบบฐานข้อมูลเชิงสัมพันธ์ระบบฐานข้อมูลเชิงสัมพันธ์

  • Key

student


Database
ระบบฐานข้อมูลเชิงสัมพันธ์ระบบฐานข้อมูลเชิงสัมพันธ์

  • Key

student


Er model
ER-Modelระบบฐานข้อมูลเชิงสัมพันธ์

  • Requirement

  • Weak Entity


Er model1
ER-Modelระบบฐานข้อมูลเชิงสัมพันธ์

หนังสือ

book


Er model2
ER-Modelระบบฐานข้อมูลเชิงสัมพันธ์


Normalization
Normalizationระบบฐานข้อมูลเชิงสัมพันธ์


Normalization1
Normalizationระบบฐานข้อมูลเชิงสัมพันธ์


Normalization2
Normalizationระบบฐานข้อมูลเชิงสัมพันธ์


Database
พีชคณิตและแคลคูลัสเชิงสัมพันธ์พีชคณิตและแคลคูลัสเชิงสัมพันธ์


Database
SQLพีชคณิตและแคลคูลัสเชิงสัมพันธ์

SELECT student.student_name, school.school_name

FROM student, school

WHERE student.school_id = school.school_id


Database
SQLพีชคณิตและแคลคูลัสเชิงสัมพันธ์

SELECT st.student_name, sc.school_name

FROM student AS st, school AS sc

WHERE st.school_id = sc.school_id


Database
SQLพีชคณิตและแคลคูลัสเชิงสัมพันธ์

SELECT st.student_name, sc.school_name

FROM student st, school sc

WHERE st.school_id = sc.school_id


Database
ธนาคารอดออมพีชคณิตและแคลคูลัสเชิงสัมพันธ์

  • ลูกค้าสามารถเปิดบัญชี/ฝาก/ถอน/ถามยอด/ปิดบัญชี ที่ที่ทำการสาขา ฝาก/ถอน/ถามยอดที่ตู้ ATM และถามยอด/แก้ไขข้อมูลทางอินเตอร์เน็ต


Database
ธนาคารอดออมพีชคณิตและแคลคูลัสเชิงสัมพันธ์

ลูกค้า

บัญชี

มี


Database
ธนาคารอดออมพีชคณิตและแคลคูลัสเชิงสัมพันธ์

ลูกค้า

เงินสด

ประชุม


Database
ธนาคารอดออมพีชคณิตและแคลคูลัสเชิงสัมพันธ์

พนักงาน

ลูกค้า

บริการ


Database
ธนาคารอดออมพีชคณิตและแคลคูลัสเชิงสัมพันธ์

สำนักงานใหญ่

ผู้จัดการ

ประชุม


Database
ธนาคารอดออมพีชคณิตและแคลคูลัสเชิงสัมพันธ์

ลูกค้า

ธุรกรรม

บัญชี

ทำ

สำหรับ

โดย

พนักงาน


Database
ธนาคารอดออมพีชคณิตและแคลคูลัสเชิงสัมพันธ์

ลูกค้า

ธุรกรรม

บัญชี

ATM


Database
ธนาคารอดออมพีชคณิตและแคลคูลัสเชิงสัมพันธ์

ลูกค้า

ธุรกรรม

บัญชี

Internet


Database
ร้านหนังสือพีชคณิตและแคลคูลัสเชิงสัมพันธ์


Database
ร้านหนังสือพีชคณิตและแคลคูลัสเชิงสัมพันธ์


Database

ลูกค้าพีชคณิตและแคลคูลัสเชิงสัมพันธ์

ธุรกรรม

บัญชี

ATM

ธนาคารอดออม


Database

ลูกค้าพีชคณิตและแคลคูลัสเชิงสัมพันธ์

ธุรกรรม

บัญชี

พนักงาน


Database

ลูกค้าพีชคณิตและแคลคูลัสเชิงสัมพันธ์

ธุรกรรม

ATM

บัญชี

Internet

พนักงาน


Database
ธนาคารอดออมพีชคณิตและแคลคูลัสเชิงสัมพันธ์

การฝาก

บัญชี

การถอน

ลูกค้า

การเปิด

พนักงาน

การปิด


Database
ธนาคารอดออมพีชคณิตและแคลคูลัสเชิงสัมพันธ์

การถอน

บัญชี

ลูกค้า

การถามยอด

ATM


Database
ธนาคารอดออมพีชคณิตและแคลคูลัสเชิงสัมพันธ์

บัญชี

สาขา

พนักงาน

ลูกค้า

ธุรกรรม

ATM

Internet


Database
ธนาคารอดออมพีชคณิตและแคลคูลัสเชิงสัมพันธ์

ลูกค้า

บัญชี


Database
ธนาคารอดออมพีชคณิตและแคลคูลัสเชิงสัมพันธ์

ลูกค้า

บัญชี

บัญชี


Database
ธนาคารอดออมพีชคณิตและแคลคูลัสเชิงสัมพันธ์

บัญชี

สาขา

พนักงาน

ลูกค้า

ธุรกรรม

ATM

Internet


Database design development
Database Design & Developmentพีชคณิตและแคลคูลัสเชิงสัมพันธ์

เตรียมการ

วิเคราะห์ความต้องการ

Conceptual Design

Logical Design

Physical Design

Implement

Data Loading

Testing

Maintenance


Database design development1
Database Design & Developmentพีชคณิตและแคลคูลัสเชิงสัมพันธ์

เตรียมการ

วิเคราะห์ความต้องการ

Conceptual Design

?

Logical Design

Physical Design

Implement

Data Loading

Testing

Maintenance


Database design development2
Database Design & Developmentพีชคณิตและแคลคูลัสเชิงสัมพันธ์

เตรียมการ

วิเคราะห์ความต้องการ

Conceptual Design

Logical Design

member

book

rental

Physical Design

Implement

Data Loading

Testing

Maintenance


Database design development3
Database Design & Developmentพีชคณิตและแคลคูลัสเชิงสัมพันธ์

เตรียมการ

วิเคราะห์ความต้องการ

Conceptual Design

book

rental

member

Logical Design

Physical Design

Implement

Data Loading

Testing

Maintenance


Database

เตรียมการพีชคณิตและแคลคูลัสเชิงสัมพันธ์

วิเคราะห์ความต้องการ

Conceptual Design

Logical Design

CREATE TABLE member

( member_id varchar(7), member_name varchar(50))

Physical Design

Implement

Data Loading

Testing

Maintenance


Database

เตรียมการพีชคณิตและแคลคูลัสเชิงสัมพันธ์

วิเคราะห์ความต้องการ

Conceptual Design

Logical Design

Physical Design

Implement

Data Loading

Testing

Maintenance


Database

เตรียมการพีชคณิตและแคลคูลัสเชิงสัมพันธ์

วิเคราะห์ความต้องการ

Conceptual Design

Logical Design

Physical Design

Implement

Data Loading

Testing

Maintenance




Data manipulation language dml2
ภาษาสำหรับจัดการข้อมูล Data Manipulation Language (DML)

book

rental

member


Data manipulation language dml3
ภาษาสำหรับจัดการข้อมูล Data Manipulation Language (DML)

book

rental

member


Data manipulation language dml4
ภาษาสำหรับจัดการข้อมูล Data Manipulation Language (DML)

book

rental

member


Data manipulation language dml5
ภาษาสำหรับจัดการข้อมูล Data Manipulation Language (DML)

member

rental r

book


Data manipulation language dml6
ภาษาสำหรับจัดการข้อมูล Data Manipulation Language (DML)

SELECT member.name, book.book_name

FROM member, rental, book

WHERE member.member_id = rental.member_id

AND rental.book_id = book.book_id


Data manipulation language dml7
ภาษาสำหรับจัดการข้อมูล Data Manipulation Language (DML)

member

rental r

book

SELECT member.name, book.book_name

FROM member, rental, book

WHERE member.member_id = rental.member_id AND rental.book_id = book.book_id


Data manipulation language dml8
ภาษาสำหรับจัดการข้อมูล Data Manipulation Language (DML)

SELECT member.name, book.book_name

FROM member, rental, book

WHERE member.member_id = rental.member_id

AND rental.book_id = book.book_id


Garage
Garage

  • อู่ซ่อมรถแห่งหนึ่งต้องการระบบจัดเก็บข้อมูลลูกค้า ช่าง และการซ่อม เพื่อที่จะจัดการกับอู่ได้ง่ายและมีประสิทธิภาพกว่าเดิม


Garage1
Garage

  • อู่ซ่อมรถยนต์มีช่างซ่อมรถที่ชำนาญในการซ่อมรถยนต์เฉพาะยี่ห้อ ลูกค้าของอู่โดยปกติเป็นเจ้าของรถประมาณ 1-2 คัน การซ่อมรถใช้เวลาเพียงวันเดียวจะแล้วเสร็จ


Garage2
Garage

  • ทางอู่ต้องการระบบที่สามารถ

    1) จัดเก็บข้อมูลลูกค้า รถ และช่างได้

    2) แสดงรายการรถที่ซ่อมอยู่ในวันปัจจุบัน

    3) แสดงรายชื่อช่าง และปริมาณงาน และเงินที่ทำได้ตลอดปี

    4) ค้นหาข้อมูลรถยนต์และชื่อที่อยู่ลูกค้าเพื่อจัดการลูกค้าสัมพันธ์


Garage3
Garage

owns

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)


Garage4
Garage

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)


Garage5
Garage

owns

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)


Garage6
Garage

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)


Garage7
Garage

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)


Garage8
Garage

Customer

(cust_id, name, address, phone, balance, car_make, car_model, car_year)


Garage9
Garage

repairs

Mechanic

Car

(mech_id, name, address, salary, skill)

(car_id, make, model, year, owner)


Garage10
Garage

repairs

Mechanic

Car

(mech_id, name, address, salary, skill)

(car_id, make, model, year, owner)


Garage11
Garage

Mechanic

Repairs

Car

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

(car_id, make, model, …)


Garage12
Garage

Mechanic

Repairs

Car

(mecht_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

(car_id, make, model, …)


Garage13
Garage

Mechanic

Repairs

Car

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

(car_id, make, model, …)


Garage er diagram
Garage ER Diagram

Repairs

does

Mechanic

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

is

owns

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)


Garage er diagram1
Garage ER Diagram

Repairs

does

Mechanic

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

is

owns

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)


Garage14
Garage

  • ทางอู่ต้องการระบบที่สามารถ

    1) จัดเก็บข้อมูลลูกค้า รถ และช่างได้

    2) แสดงรายการรถที่ซ่อมอยู่ในวันปัจจุบัน

    3) แสดงรายชื่อช่าง และปริมาณงาน และเงินที่ทำได้ตลอดปี

    4) ค้นหาข้อมูลรถยนต์และชื่อที่อยู่ลูกค้าเพื่อจัดการลูกค้าสัมพันธ์


Garage er diagram2
Garage ER Diagram

Repairs

does

Mechanic

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

is

owns

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)

1) จัดเก็บข้อมูลลูกค้า รถ และช่างได้


Garage er diagram3
Garage ER Diagram

Repairs

does

Mechanic

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

is

owns

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)

2) แสดงรายการรถที่ซ่อมอยู่ในวันปัจจุบัน: เจ้าของ, รถ, ช่าง


Garage er diagram4
Garage ER Diagram

Repairs

does

Mechanic

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

is

owns

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)

3) แสดงรายชื่อช่าง ปริมาณงาน และเงินที่ทำได้ตลอดปี


Garage er diagram5
Garage ER Diagram

Repairs

does

Mechanic

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

is

owns

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)

4) ค้นหาข้อมูลรถยนต์และชื่อที่อยู่ลูกค้าเพื่อจัดการลูกค้าสัมพันธ์


Garage er diagram6
Garage ER Diagram

Repairs

does

Mechanic

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

is

owns

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)

รายละเอียดการซ่อมรถแต่ละครั้งว่าซ่อมอะไร?


Garage er diagram7
Garage ER Diagram

Repairs

does

Mechanic

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

is

owns

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)

รถยนต์ยี่ห้อใดเสียบ่อยที่สุด?


Garage er diagram8
Garage ER Diagram

Repairs

does

Mechanic

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

is

owns

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)

รถยนต์ช่วงราคาใดเสียบ่อยที่สุด?


Garage15
Garage

  • ทางอู่ต้องการระบบที่สามารถ

    1) จัดเก็บข้อมูลลูกค้า รถ และช่างได้

    2) แสดงรายการรถที่ซ่อมอยู่ในวันปัจจุบัน

    3) แสดงรายชื่อช่าง และปริมาณงาน และเงินที่ทำได้ตลอดปี

    4) ค้นหาข้อมูลรถยนต์และชื่อที่อยู่ลูกค้าเพื่อจัดการลูกค้าสัมพันธ์


Garage16
Garage

Repairs

Mechanic

does

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

is

Customer

Car

1) จัดเก็บข้อมูลลูกค้า รถ และช่างได้

owns

(car_id, make, model, year, owner)

(cust_id, name, address, phone, balance)


Garage17

Repairs

Mechanic

does

(mech_id, name, address, salary, skill)

is

Customer

Car

owns

(cust_id, name, address, phone, balance)

Garage

(mech_id, car_id, repair_date, price)

1) จัดเก็บข้อมูลลูกค้า รถ และช่างได้

(car_id, make, model, year, owner)

INSERT INTO customer (cust_id, name, address, phone, balance)

VALUES (0001, ‘Neo’, ‘Zion’, ‘0-1222-2222’, ‘2332’)


Garage18

Repairs

Mechanic

does

(mech_id, name, address, salary, skill)

is

Customer

Car

owns

(cust_id, name, address, phone, balance)

Garage

1) จัดเก็บข้อมูลลูกค้า รถ และช่างได้

INSERT INTO car (car_id, make, model, year, owner)

VALUES (0001, ‘Toyota’, ‘Camry’, 1998, 0001)


Garage19

Repairs

Mechanic

does

(mech_id, name, address, salary, skill)

is

Customer

Car

owns

(cust_id, name, address, phone, balance)

Garage

1) จัดเก็บข้อมูลลูกค้า รถ และช่างได้

INSERT INTO mechanic (mech_id, name, address, salary, skill)

VALUES (0001, ‘Somchai’, ‘Zion’, 10000, ‘Honda’)


Garage20

Repairs

Mechanic

does

(mech_id, name, address, salary, skill)

is

Customer

Car

owns

(cust_id, name, address, phone, balance)

Garage

2) แสดงรายการรถที่ซ่อมอยู่ปัจจุบัน: เจ้าของ, รถ, ช่าง

SELECT customer.name, customer.phone, car.make, car.model,

car.year, mechanic.name, repairs.price

FROM customer, car, mechanic, repairs

WHERE customer.cust_id = car.owner

AND repairs.car_id = car.car_id

AND repairs.mech_id = mechanic.mech_id


Garage21

Repairs

Mechanic

does

(mech_id, name, address, salary, skill)

is

Customer

Car

owns

(cust_id, name, address, phone, balance)

Garage

2) แสดงรายการรถที่ซ่อมอยู่ปัจจุบัน: เจ้าของ, รถ, ช่าง

SELECT customer.name, customer.phone, car.make, car.model, car.year,

mechanic.name, repairs.price

FROM customer c, car a, mechanic m, repairs r

WHERE customer.cust_id = car.owner

AND repairs.car_id = car.car_id

AND repairs.mech_id = mechanic.mech_id


Garage22

Repairs

Mechanic

does

(mech_id, name, address, salary, skill)

is

Customer

Car

owns

(cust_id, name, address, phone, balance)

Garage

Target Item: Change All Illustration

2) แสดงรายการรถที่ซ่อมอยู่ปัจจุบัน: เจ้าของ, รถ, ช่าง

SELECT c.name, c.phone, a.make, a.model, a.year, m.name, r.price

FROM customer c, car a, mechanic m, repairs r

WHERE c.cust_id = a.owner

AND r.car_id = a.car_id

AND r.mech_id = m.mech_id


Garage23
Garage

SELECT customer.name, customer.phone, car.make, car.model, car.year,

mechanic.name, repairs.price

FROM customer c, car a, mechanic m, repairs r

WHERE customer.cust_id = car.owner

AND repairs.car_id = car.car_id AND repairs.mech_id = mechanic.mech_id

AND repairs.repairs_date >= SYSDATE


Garage24

Repairs

Mechanic

does

(mech_id, name, address, salary, skill)

is

Customer

Car

owns

(cust_id, name, address, phone, balance)

Garage

3) แสดงรายชื่อช่าง ปริมาณงานและเงินที่ได้จากการซ่อม

SELECT mechanic.mech_id, mechanic.name, COUNT(*) AS jobs,

SUM(repairs.price) AS total

FROM mechaic, repairs

WHERE mechanic.mech_id = repairs.mech_id

GROUP BY mechanic.mech_id


Garage25
Garage

SELECT mechanic.mech_id, mechanic.name, COUNT(*) AS jobs,

SUM(repairs.price) AS total

FROM mechaic, repairs

WHERE mechanic.mech_id = repairs.mech_id

GROUP BY mechanic.mech_id


Garage26

Repairs

Mechanic

does

(mech_id, name, address, salary, skill)

is

Customer

Car

owns

(cust_id, name, address, phone, balance)

Garage

4) ค้นหารถยนต์และข้อมูลลูกค้าเพื่องานลูกค้าสัมพันธ์

SELECT name, address, phone, make, model, year

FROM customer, car

WHERE customer.cust_id = car.owner


Garage27
Garage

  • User Interface


Garage28

Repairs

Mechanic

does

(mech_id, name, address, salary, skill)

is

Customer

Car

owns

(cust_id, name, address, phone, balance)

Garage

1) จัดเก็บข้อมูลลูกค้า รถ และช่างได้

INSERT INTO customer (cust_id, name, address, phone, balance)

VALUES (0001, ‘Neo’, ‘Zion’, ‘0-1222-2222’, ‘2332’)




Visual basic with database
Visual Basic With Database

dbEmployee

Determine Database

Connect to the Database

dbEmployee

Execute Command

SELECT * FROM employee

Use Data

Close Connection


Visual basic with database1
Visual Basic With Database

Determine Database

Set conAddress = New ADODB.Connection

conAddress.ConnectionString = "PROVIDER=SQLOLEDB;DATA SOURCE=LAB10;UID=user01;PWD=password;DATABASE=dbEmployee"


Visual basic with database2
Visual Basic With Database

Connect to the Database

conAddress.Open


Visual basic with database3
Visual Basic With Database

Execute Command

Set rstAddress = New ADODB.Recordset

rstAddress.Open "SELECT * FROM employee ORDER BY empname", conAddress, adOpenStatic, adLockOptimistic


Visual basic with database4
Visual Basic With Database

Use Data

Set DataGrid1.DataSource = rstAddress


Visual basic with database5
Visual Basic With Database

Close Connection

rstAddress.Close

Set rstAddress = Nothing

conAddress.Close

Set conAddress = Nothing


Visual basic with database6
Visual Basic With Database

Determine Database

Connect to the Database

Execute Command

Use Data

Close Connection



Sql statement in visual basic1
SQL Statement in Visual Basic

  • SQL_Statement = "SELECT * FROM employee ORDER BY empname WHERE empname LIKE '" & Text1.Text & "'"

  • SQL_Statement = "INSERT INTO employee (empno, empname, address) VALUES('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "')"

  • SQL_Statement = "UPDATE employee SET empno='" & Text2.Text & "' WHERE empno = '" & Text1.Text & "'"


Sql statement in visual basic2
SQL Statement in Visual Basic

  • SQL_Statement = "SELECT * FROM employee ORDER BY empname WHERE empname LIKE '" & Text1.Text & "'"


Sql statement in visual basic3
SQL Statement in Visual Basic

  • SQL_Statement = "SELECT * FROM employee ORDER BY empname WHERE empname LIKE ‘” & Text1.Text & “’”

  • SELECT * FROM employee ORDER BY empname WHERE empname LIKE ‘somchai’


Sql statement in visual basic4
SQL Statement in Visual Basic

  • SQL_Statement = "INSERT INTO employee (empno, empname, address) VALUES('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "')"


Sql statement in visual basic5
SQL Statement in Visual Basic

  • SQL_Statement = "INSERT INTO employee (empno, empname, address) VALUES('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "')"

  • INSERT INTO employee (empno, empname, address) VALUES(“0001”, “Somchai”, “111 Univers…”)


Sql statement in visual basic6
SQL Statement in Visual Basic

  • SQL_Statement = "UPDATE employee SET empno='" & Text2.Text & "' WHERE empno = '" & Text1.Text & "'"


Sql statement in visual basic7
SQL Statement in Visual Basic

  • SQL_Statement = "UPDATE employee SET empname='" & Text2.Text & "' WHERE empno = '" & Text1.Text & "'"

  • UPDATE employee SET empname = ‘Somsak’ WHERE empno = ‘0001’


Garage29
Garage

1) จัดเก็บข้อมูลลูกค้า รถ และช่างได้

INSERT INTO customer (cust_id, name, address, phone, balance)

VALUES (0001, ‘Neo’, ‘Zion’, ‘0-1222-2222’, ‘2332’)


Garage30
Garage

1) จัดเก็บข้อมูลลูกค้า รถ และช่างได้


Garage31
Garage

1) จัดเก็บข้อมูลลูกค้า รถ และช่างได้

INSERT INTO customer (cust_id, name, address, phone, balance)

VALUES (0001, ‘Neo’, ‘Zion’, ‘0-1222-2222’, 2332)


Garage32
Garage

1) จัดเก็บข้อมูลลูกค้า รถ และช่างได้

INSERT INTO customer (cust_id, name, address, phone, balance)

VALUES (0001, ‘Neo’, ‘Zion’, ‘0-1222-2222’, ‘2332’)


Garage33
Garage

1) จัดเก็บข้อมูลลูกค้า รถ และช่างได้

INSERT INTO customer (cust_id, name, address, phone, balance)

VALUES (Text1 , Text2, Text3, Text4, Text5)


Garage34

Repairs

Mechanic

does

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

is

Customer

Car

owns

(car_id, make, model, year, owner)

(cust_id, name, address, phone, balance)

Garage

2) แสดงรายการรถที่ซ่อมอยู่ปัจจุบัน: เจ้าของ, รถ, ช่าง

SELECT customer.name, customer.phone, car.make, car.model,

car.year, mechanic.name, repairs.price

FROM customer c, car a, mechanic m, repairs r

WHERE customer.cust_id = car.owner

AND repairs.car_id = car.car_id

AND repairs.mech_id = mechanic.mech_id


Garage35
Garage

2) แสดงรายการรถที่ซ่อมอยู่ปัจจุบัน: เจ้าของ, รถ, ช่าง


Garage36
Garage

2) แสดงรายการรถที่ซ่อมอยู่ปัจจุบัน: เจ้าของ, รถ, ช่าง

SELECT customer.name, customer.phone, car.make, car.model, car.year,

mechanic.name, repairs.price

FROM customer c, car a, mechanic m, repairs r

WHERE customer.cust_id = car.owner

AND repairs.car_id = car.car_id AND repairs.mech_id = mechanic.mech_id

AND reapirs.repair_date >= SYSDATE


Garage37
Garage

2) แสดงรายการรถที่ซ่อมอยู่ปัจจุบัน: เจ้าของ, รถ, ช่าง?

SELECT customer.name, customer.phone, car.make, car.model, car.year,

mechanic.name, repairs.price

FROM customer c, car a, mechanic m, repairs r

WHERE customer.cust_id = car.owner

AND repairs.car_id = car.car_id

AND repairs.mech_id = mechanic.mech_id


Garage38
Garage

2) แสดงรายการรถที่ซ่อมอยู่ปัจจุบัน: เจ้าของ, รถ, ช่าง?

2.1) จัดเก็บข้อมูลการซ่อม


Garage39
Garage

Mechanic

Repairs

Car

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

(car_id, make, model, …)


Garage40
Garage

2) แสดงรายการรถที่ซ่อมอยู่ปัจจุบัน: เจ้าของ, รถ, ช่าง?

2.1) จัดเก็บข้อมูลการซ่อม

INSERT INTO repairs (car_id, mech_id, repairs_date, price)

VALUES (0001, 0001, ‘24-NOV-2003’, 2000)


Garage41
Garage

2) แสดงรายการรถที่ซ่อมอยู่ปัจจุบัน: เจ้าของ, รถ, ช่าง?

2.1) จัดเก็บข้อมูลการซ่อม


Garage42
Garage

2) แสดงรายการรถที่ซ่อมอยู่ปัจจุบัน: เจ้าของ, รถ, ช่าง?

2.1) จัดเก็บข้อมูลการซ่อม

INSERT INTO repairs (car_id, mech_id, repairs_date, price)

VALUES (0001, 0001, ‘24-NOV-2003’, 2000)




Visual basic with database7
Visual Basic With Database

dbEmployee

Determine Database

Connect to the Database

dbEmployee

Execute Command

SELECT * FROM employee

Use Data

Close Connection


Visual basic with database8
Visual Basic With Database

Determine Database

Set conAddress = New ADODB.Connection

conAddress.ConnectionString = "PROVIDER=SQLOLEDB;DATA SOURCE=LAB10;UID=user01;PWD=password;DATABASE=dbEmployee"


Visual basic with database9
Visual Basic With Database

Connect to the Database

conAddress.Open


Visual basic with database10
Visual Basic With Database

Execute Command

Set rstAddress = New ADODB.Recordset

rstAddress.Open "SELECT * FROM employee ORDER BY empname", conAddress, adOpenStatic, adLockOptimistic


Visual basic with database11
Visual Basic With Database

Use Data

Set DataGrid1.DataSource = rstAddress


Visual basic with database12
Visual Basic With Database

Close Connection

rstAddress.Close

Set rstAddress = Nothing

conAddress.Close

Set conAddress = Nothing


Visual basic with database13
Visual Basic With Database

Determine Database

Connect to the Database

Execute Command

Use Data

Close Connection



Sql statement in visual basic9
SQL Statement in Visual Basic

  • SQL_Statement = "SELECT * FROM employee ORDER BY empname WHERE empname LIKE '" & Text1.Text & "'"

  • SQL_Statement = "INSERT INTO employee (empno, empname, address) VALUES('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "')"

  • SQL_Statement = "UPDATE employee SET empno='" & Text2.Text & "' WHERE empno = '" & Text1.Text & "'"


Sql statement in visual basic10
SQL Statement in Visual Basic

  • SQL_Statement = "SELECT * FROM employee ORDER BY empname WHERE empname LIKE '" & Text1.Text & "'"


Sql statement in visual basic11
SQL Statement in Visual Basic

  • SQL_Statement = "SELECT * FROM employee ORDER BY empname WHERE empname LIKE ‘” & Text1.Text & “’”

  • SELECT * FROM employee ORDER BY empname WHERE empname LIKE ‘somchai’


Sql statement in visual basic12
SQL Statement in Visual Basic

  • SQL_Statement = "INSERT INTO employee (empno, empname, address) VALUES('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "')"


Sql statement in visual basic13
SQL Statement in Visual Basic

  • SQL_Statement = "INSERT INTO employee (empno, empname, address) VALUES('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "')"

  • INSERT INTO employee (empno, empname, address) VALUES(“0001”, “Somchai”, “111 Univers…”)


Sql statement in visual basic14
SQL Statement in Visual Basic

  • SQL_Statement = "UPDATE employee SET empno='" & Text2.Text & "' WHERE empno = '" & Text1.Text & "'"


Sql statement in visual basic15
SQL Statement in Visual Basic

  • SQL_Statement = "UPDATE employee SET empname='" & Text2.Text & "' WHERE empno = '" & Text1.Text & "'"

  • UPDATE employee SET empname = ‘Somsak’ WHERE empno = ‘0001’


Sql statement in visual basic16
SQL Statement in Visual Basic

SQL Statement

INSERT

UPDATE

DELETE


Sql statement in visual basic17
SQL Statement in Visual Basic

SQL Statement

SELECT

RecordSet


Sql statement in visual basic18
SQL Statement in Visual Basic

Determine DB

Open Connect

SQL Statement

Use Data

Close Connect


Garage43
Garage

  • ทางอู่ต้องการระบบที่สามารถ

    1) จัดเก็บข้อมูลลูกค้า รถ และช่างได้

    2) แสดงรายการรถที่ซ่อมอยู่ในวันปัจจุบัน

    3) แสดงรายชื่อช่าง และปริมาณงาน และเงินที่ทำได้ตลอดปี

    4) ค้นหาข้อมูลรถยนต์และชื่อที่อยู่ลูกค้าเพื่อจัดการลูกค้าสัมพันธ์


Garage44
Garage

1) จัดเก็บข้อมูลลูกค้า รถ และช่างได้

INSERT INTO customer (cust_id, name, address, phone, balance)

VALUES (Text1 , Text2, Text3, Text4, Text5)


Garage45
Garage

2) แสดงรายการรถที่ซ่อมอยู่ปัจจุบัน: เจ้าของ, รถ, ช่าง

SELECT customer.name, customer.phone, car.make, car.model, car.year,

mechanic.name, repairs.price

FROM customer c, car a, mechanic m, repairs r

WHERE customer.cust_id = car.owner

AND repairs.car_id = car.car_id AND repairs.mech_id = mechanic.mech_id

AND reapirs.repair_date >= SYSDATE


Garage46
Garage

2) แสดงรายการรถที่ซ่อมอยู่ปัจจุบัน: เจ้าของ, รถ, ช่าง?

2.1) จัดเก็บข้อมูลการซ่อม

INSERT INTO repairs (car_id, mech_id, repairs_date, price)

VALUES (0001, 0001, ‘24-NOV-2003’, 2000)




Data manipulation language dml10
ภาษาสำหรับจัดการข้อมูล Data Manipulation Language (DML)

book

rental

member


Data manipulation language dml11
ภาษาสำหรับจัดการข้อมูล Data Manipulation Language (DML)

book

rental

member


Data manipulation language dml12
ภาษาสำหรับจัดการข้อมูล Data Manipulation Language (DML)

book

rental

member


Data manipulation language dml13
ภาษาสำหรับจัดการข้อมูล Data Manipulation Language (DML)

member

rental r

book


Data manipulation language dml14
ภาษาสำหรับจัดการข้อมูล Data Manipulation Language (DML)

SELECT member.name, book.book_name

FROM member, rental, book

WHERE member.member_id = rental.member_id

AND rental.book_id = book.book_id


Data manipulation language dml15
ภาษาสำหรับจัดการข้อมูล Data Manipulation Language (DML)

member

rental r

book

SELECT member.name, book.book_name

FROM member, rental, book

WHERE member.member_id = rental.member_id AND rental.book_id = book.book_id


Data manipulation language dml16
ภาษาสำหรับจัดการข้อมูล Data Manipulation Language (DML)

SELECT member.name, book.book_name

FROM member, rental, book

WHERE member.member_id = rental.member_id

AND rental.book_id = book.book_id






Selected applications in ic mis is4
Selected Applications in IC, MIS, IS

  • MIS

    • สารสนเทศทางธุรกิจ

      • การตลาด

      • การเงิน

      • การจัดการ

      • การผลิต

      • ทรัพยากรมนุษย์


Selected applications in ic mis is5
Selected Applications in IC, MIS, IS

  • MIS

    • E-Commerce

    • Web-Based Application

    • ERP, SCM, CRM

    • Data warehouse, Data mining, Web Services, E-Business, E-Government


Selected applications in ic mis is6
Selected Applications in IC, MIS, IS

  • IS

    • ห้องสมุด

    • ฐานข้อมูลสิ่งที่สนใจ

      • สมุนไพร

      • ผลิตภัณฑ์พื้นบ้าน



Database
หัวข้อบรรยาย

  • ข้อมูล/สารสนเทศ

  • ระบบจัดการฐานข้อมูล

  • สถาปัตยกรรมฐานข้อมูล

  • ER-Model

  • หลักการออกแบบ

  • SQL

  • Relational Algebra

  • Concurrency


Database
วัตถุประสงค์รายครั้ง

นักศึกษาสามารถ

  • อธิบายแนวคิดต่าง ๆ เกี่ยวกับฐานข้อมูลได้

  • อธิบายแนวทางการออกแบบ พัฒนา และจัดการฐานข้อมูลได้


ad
  • Login