Database
Sponsored Links
This presentation is the property of its rightful owner.
1 / 184

Database PowerPoint PPT Presentation


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

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

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

204406 Business Database


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

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

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

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


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

Microsoft SQL ServerOracle, etc.


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

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

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

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

  • ER-Model

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

  • SQL

  • Relational Algebra

  • Concurrency


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

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

  • Anomaly/Constraints

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


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

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

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

book


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

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

SELECT * FROMbook

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


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

  • Anomaly/Constraints

book

publisher

Unique Key Constraints


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

  • Anomaly/Constraints

book

publisher


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

  • Anomaly/Constraints

book

publisher

Foreign Key Constraints


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

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

book

publisher


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

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

book


Join


ระบบฐานข้อมูล

  • Data Dictionary


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

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

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

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


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

ผู้ใช้

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

วิว

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

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

  • ระดับภายใน


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

ผู้ใช้

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

วิว

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

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

  • ระดับภายใน


การออกแบบฐานข้อมูล

  • Conceptual Model

  • Logical Model

  • Physical Model


การออกแบบฐานข้อมูล

book

member

rental

  • Conceptual Model

  • Logical Model

  • Physical Model

book

rental

member

CREATE TABLE member

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


การออกแบบฐานข้อมูล

book

member

rental

  • Conceptual Model

  • Logical Model

  • Physical Model

CREATE TABLE member

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


การออกแบบฐานข้อมูล

ผู้ใช้

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

วิว

book

member

rental

CREATE TABLE member

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


การออกแบบฐานข้อมูล

Conceptual Design

ภายนอก

Logical Design

แนวคิด

Physical Design

ภายใน


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

  • Key

student


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

  • Key

student


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

  • Key

student


ER-Model

  • Requirement

  • Weak Entity


ER-Model

หนังสือ

book


ER-Model


Normalization


Normalization


Normalization


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


SQL

SELECT student.student_name, school.school_name

FROM student, school

WHERE student.school_id = school.school_id


SQL

SELECT st.student_name, sc.school_name

FROM student AS st, school AS sc

WHERE st.school_id = sc.school_id


SQL

SELECT st.student_name, sc.school_name

FROM student st, school sc

WHERE st.school_id = sc.school_id


ธนาคารอดออม

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


ธนาคารอดออม

ลูกค้า

บัญชี

มี


ธนาคารอดออม

ลูกค้า

เงินสด

ประชุม


ธนาคารอดออม

พนักงาน

ลูกค้า

บริการ


ธนาคารอดออม

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

ผู้จัดการ

ประชุม


ธนาคารอดออม

ลูกค้า

ธุรกรรม

บัญชี

ทำ

สำหรับ

โดย

พนักงาน


ธนาคารอดออม

ลูกค้า

ธุรกรรม

บัญชี

ATM


ธนาคารอดออม

ลูกค้า

ธุรกรรม

บัญชี

Internet


ร้านหนังสือ


ร้านหนังสือ


ลูกค้า

ธุรกรรม

บัญชี

ATM

ธนาคารอดออม


ลูกค้า

ธุรกรรม

บัญชี

พนักงาน


ลูกค้า

ธุรกรรม

ATM

บัญชี

Internet

พนักงาน


ธนาคารอดออม

การฝาก

บัญชี

การถอน

ลูกค้า

การเปิด

พนักงาน

การปิด


ธนาคารอดออม

การถอน

บัญชี

ลูกค้า

การถามยอด

ATM


ธนาคารอดออม

บัญชี

สาขา

พนักงาน

ลูกค้า

ธุรกรรม

ATM

Internet


ธนาคารอดออม

ลูกค้า

บัญชี


ธนาคารอดออม

ลูกค้า

บัญชี

บัญชี


ธนาคารอดออม

บัญชี

สาขา

พนักงาน

ลูกค้า

ธุรกรรม

ATM

Internet


Database Design & Development

เตรียมการ

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

Conceptual Design

Logical Design

Physical Design

Implement

Data Loading

Testing

Maintenance


Database Design & Development

เตรียมการ

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

Conceptual Design

?

Logical Design

Physical Design

Implement

Data Loading

Testing

Maintenance


Database Design & Development

เตรียมการ

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

Conceptual Design

Logical Design

member

book

rental

Physical Design

Implement

Data Loading

Testing

Maintenance


Database Design & Development

เตรียมการ

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

Conceptual Design

book

rental

member

Logical Design

Physical Design

Implement

Data Loading

Testing

Maintenance


เตรียมการ

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

Conceptual Design

Logical Design

CREATE TABLE member

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

Physical Design

Implement

Data Loading

Testing

Maintenance


เตรียมการ

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

Conceptual Design

Logical Design

Physical Design

Implement

Data Loading

Testing

Maintenance


เตรียมการ

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

Conceptual Design

Logical Design

Physical Design

Implement

Data Loading

Testing

Maintenance


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


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


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

book

rental

member


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

book

rental

member


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

book

rental

member


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

member

rental r

book


ภาษาสำหรับจัดการข้อมูล 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 (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 (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

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


Garage

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

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

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

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

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


Garage

owns

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)


Garage

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)


Garage

owns

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)


Garage

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)


Garage

Customer

Car

(cust_id, name, address, phone, balance)

(car_id, make, model, year, owner)


Garage

Customer

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


Garage

repairs

Mechanic

Car

(mech_id, name, address, salary, skill)

(car_id, make, model, year, owner)


Garage

repairs

Mechanic

Car

(mech_id, name, address, salary, skill)

(car_id, make, model, year, owner)


Garage

Mechanic

Repairs

Car

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

(car_id, make, model, …)


Garage

Mechanic

Repairs

Car

(mecht_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

(car_id, make, model, …)


Garage

Mechanic

Repairs

Car

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

(car_id, make, model, …)


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 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

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

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

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

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

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


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 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 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 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 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 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 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

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

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

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

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

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


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)


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’)


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)


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’)


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


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


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


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


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


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


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


Garage

  • User Interface


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


Visual Basic


Visual Basic With Database

dbEmployee

Determine Database

Connect to the Database

dbEmployee

Execute Command

SELECT * FROM employee

Use Data

Close Connection


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 Database

Connect to the Database

conAddress.Open


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 Database

Use Data

Set DataGrid1.DataSource = rstAddress


Visual Basic With Database

Close Connection

rstAddress.Close

Set rstAddress = Nothing

conAddress.Close

Set conAddress = Nothing


Visual Basic With Database

Determine Database

Connect to the Database

Execute Command

Use Data

Close Connection


SQL Statement in Visual Basic


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 Basic

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


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 Basic

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


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 Basic

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


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’


Garage

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

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

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


Garage

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


Garage

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

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

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


Garage

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

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

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


Garage

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

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

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


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


Garage

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


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


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


Garage

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

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


Garage

Mechanic

Repairs

Car

(mech_id, name, address, salary, skill)

(mech_id, car_id, repair_date, price)

(car_id, make, model, …)


Garage

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

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

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

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


Garage

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

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


Garage

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

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

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

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


Visual Basic


Visual Basic


Visual Basic With Database

dbEmployee

Determine Database

Connect to the Database

dbEmployee

Execute Command

SELECT * FROM employee

Use Data

Close Connection


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 Database

Connect to the Database

conAddress.Open


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 Database

Use Data

Set DataGrid1.DataSource = rstAddress


Visual Basic With Database

Close Connection

rstAddress.Close

Set rstAddress = Nothing

conAddress.Close

Set conAddress = Nothing


Visual Basic With Database

Determine Database

Connect to the Database

Execute Command

Use Data

Close Connection


SQL Statement in Visual Basic


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 Basic

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


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 Basic

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


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 Basic

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


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 Basic

SQL Statement

INSERT

UPDATE

DELETE


SQL Statement in Visual Basic

SQL Statement

SELECT

RecordSet


SQL Statement in Visual Basic

Determine DB

Open Connect

SQL Statement

Use Data

Close Connect


Garage

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

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

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

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

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


Garage

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

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

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


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


Garage

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

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

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

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


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


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


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

book

rental

member


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

book

rental

member


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

book

rental

member


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

member

rental r

book


ภาษาสำหรับจัดการข้อมูล 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 (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 (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, IS

  • IC

  • MIS

  • IS


Selected Applications in IC, MIS, IS

  • IC


Selected Applications in IC, MIS, IS

  • IC


Selected Applications in IC, MIS, IS

  • IC


Selected Applications in IC, MIS, IS

  • MIS

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

      • การตลาด

      • การเงิน

      • การจัดการ

      • การผลิต

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


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, IS

  • IS

    • ห้องสมุด

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

      • สมุนไพร

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


คำถาม


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

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

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

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

  • ER-Model

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

  • SQL

  • Relational Algebra

  • Concurrency


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

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

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

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


  • Login