bài 7 thiết kế cơ sơ dữ liệu vật lý - Pdf 13

Bài 7:
THIẾT KẾ CƠ SƠ DỮ LIỆU VẬT LÝ
Tìm hiểu mô hình thực thể liên kết (Entity Relationship Modeling) và
các thành phần của mô hình
Tìm hiểu các mô hình mô tả tiến trình (sơ đồ tiến trình)
Hệ thống bài cũ
Slide 7- Thiết kế CSDL vật lý
2
Biết cách xây dựng các thành phần dữ liệu mức vật lý
Biết cách xây dựng các bảng từ các quan hệ
Biết tích hợp thêm các ràng buộc và toàn vẹn dữ liệu
Mục tiêu bài học hôm nay
Biết cách xây dựng các thành phần dữ liệu mức vật lý
Biết cách xây dựng các bảng từ các quan hệ
Biết tích hợp thêm các ràng buộc và toàn vẹn dữ liệu
Slide 7- Thiết kế CSDL vật lý
3
Thiết kế CSDL mức vật lý là xây dựng CSDL quan hệ
gồm các bảng từ các quan hệ đã được chuẩn hóa. Thêm
các ràng buộc và toàn vẹn dữ liệu
Thiết kế CSDL mức vật lý
Slide 7- Thiết kế CSDL vật lý
4
Là bước đầu tiên trong thiết kế CSDL vật lý
Mỗi bảng biểu diễn một quan hệ đã được chuẩn hóa.
Ví dụ:
Quan hệ KhachHang: MaKH, Hoten, Diachi, Dienthoai được biểu
diễn dưới dạng bảng như sau
Thiết kế các bảng
Là bước đầu tiên trong thiết kế CSDL vật lý
Mỗi bảng biểu diễn một quan hệ đã được chuẩn hóa.

Address, Customer City, Customer State, Customer Zip Code,
Customer Phone
INVOICE: Invoice Number (PK), Customer Number, Terms, Ship Via,
Order Date
INVOICE LINE ITEM: Invoice Number (PK), Product Number (PK),
Quantity, Sale Unit Price
Ví dụ
CSDL ứng dụng Acme Industries gồm 4 quan hệ như sau:
PRODUCT: Product Number (PK), Product Description, List Unit Price
CUSTOMER: Customer Number (PK), Customer Name, Customer
Address, Customer City, Customer State, Customer Zip Code,
Customer Phone
INVOICE: Invoice Number (PK), Customer Number, Terms, Ship Via,
Order Date
INVOICE LINE ITEM: Invoice Number (PK), Product Number (PK),
Quantity, Sale Unit Price
Slide 7- Thiết kế CSDL vật lý
7
4 bảng tương ứng với 4 quan hệ và ràng buộc giữa các bảng như
sau:
Ví dụ
Slide 7- Thiết kế CSDL vật lý
8
Ví dụ: đối tượng Customer có thể gồm 2 lớp con:
Individual_Customer và Commercial_Customer.
Có 3 cách để thiết kế các bảng:
Thiết kế thành ba bảng Customer, Individual_Customer và
Commercial_Customer
Thiết kế thành hai bảng: Individual_Customer và Commercial_Customer.
Các thuộc tính chung trong bảng Customer được thêm vào hai bảng này

SoLuong, DonGia, ThanhTien
Bài tập ví dụ
Bài toán quản lý CSDL các đối tượng khách hàng mua
hàng. CSDL gồm các đối tượng KhachHang, DonHang,
SanPham như sau:
KHACHHANG: MaKH , HotenKH, DiaChi, DienThoai
DONHANG: SoDH, NgayDatHang, TongTien, NguoiLap
SANPHAM: MaSP, TenSP, QuyCach, DonViTinh
Mỗi Yêu cầu đặt hàng của KhachHang gồm các thông tin:
SoLuong, DonGia, ThanhTien
Slide 7- Thiết kế CSDL vật lý
13
Hãy thiết kế các bảng cho CSDL trên???
Bài tập ví dụ
Slide 7- Thiết kế CSDL vật lý
14
Kết quả:
Bài tập ví dụ
Slide 7- Thiết kế CSDL vật lý
15
Đặt tên bảng:
Tên bảng phải phản ánh thực thể
Tên bảng phải viết chữ hoa và các kí tự “_” để phân
tách các từ (trong Oracle)
Không có các từ “table” hay “file” trong tên bảng
Các quy tắc đặt tên trong Oracle
Đặt tên bảng:
Tên bảng phải phản ánh thực thể
Tên bảng phải viết chữ hoa và các kí tự “_” để phân
tách các từ (trong Oracle)

KIEU: Kiểu của ràng buộc
PK: ràng buộc khóa chính
FK: ràng buộc khóa ngoại
UQ: ràng buộc duy nhất
CK: ràng buộc Check
TENTHUOCTINH: Tên của cột mà ràng buộc được định nghĩa
trên đó
Slide 7- Thiết kế CSDL vật lý
18
Quy tắc đặt tên chỉ mục (Index): theo quy cách
TENBANG_KIEU_TENTHUOCTINH
Trong đó:
TENBANG: Tên bảng mà chỉ mục được định nghĩa trên đó
KIEU: Kiểu của chỉ mục
UX: chỉ mục duy nhất
IX: không phải chỉ mục duy nhất
TENTHUOCTINH: Tên của cột mà chỉ mục được định nghĩa trên
đó
Các quy tắc đặt tên trong Oracle
Quy tắc đặt tên chỉ mục (Index): theo quy cách
TENBANG_KIEU_TENTHUOCTINH
Trong đó:
TENBANG: Tên bảng mà chỉ mục được định nghĩa trên đó
KIEU: Kiểu của chỉ mục
UX: chỉ mục duy nhất
IX: không phải chỉ mục duy nhất
TENTHUOCTINH: Tên của cột mà chỉ mục được định nghĩa trên
đó
Slide 7- Thiết kế CSDL vật lý
19

Các kiểu dữ liệu, độ chính xác và miền giá trị
Các Trigger
Slide 7- Thiết kế CSDL vật lý
21
Ràng buộc NOT NULL quy định giá trị của cột dữ liệu không được
phép để rỗng.
Ví dụ: tạo bảng INVOICE có 3 cột có ràng buộc NOT NULL
CREATE TABLE INVOICE
(INVOICE_NUMBER NUMBER(7) NOT NULL,
CUSTOMER_NUMBER NUMBER(5) NOT NULL,
CUSTOMER_PO_NUMBER VARCHAR(10) NULL,
SHIP_VIA VARCHAR(30) NULL,
ORDER_DATE DATE NOT NULL);
Ràng buộc NOT NULL
Ràng buộc NOT NULL quy định giá trị của cột dữ liệu không được
phép để rỗng.
Ví dụ: tạo bảng INVOICE có 3 cột có ràng buộc NOT NULL
CREATE TABLE INVOICE
(INVOICE_NUMBER NUMBER(7) NOT NULL,
CUSTOMER_NUMBER NUMBER(5) NOT NULL,
CUSTOMER_PO_NUMBER VARCHAR(10) NULL,
SHIP_VIA VARCHAR(30) NULL,
ORDER_DATE DATE NOT NULL);
Slide 7- Thiết kế CSDL vật lý
22
Ràng buộc khóa chính trên một cột sẽ quy định cột đó là khóa chính
cho bảng
Ví dụ: tạo ràng buộc khóa chính cho cột INVOICE_NUMBER trong
bảng INVOICE:
ALTER TABLE INVOICE

ngoại của bảng được kết nối bằng cách sử dụng từ khóa
REFERENCES
Ví dụ: tạo ràng buộc khóa ngoài với bảng CUSTOMER
ALTER TABLE INVOICE
ADD CONSTRAINT INVOICE_FK_CUSTOMER_NUMBER
FOREIGN KEY (CUSTOMER_NUMBER)
REFERENCES CUSTOMER (CUSTOMER_NUMBER);
Slide 7- Thiết kế CSDL vật lý
24
Sử dụng từ khóa
PRE FERENCES
Cột đóng vai trò kết nối bảng
INVOICE với bảng CUSTOMER
Ràng buộc duy nhất yêu cầu các giá trị trong cột phải khác nhau
Ví dụ:
ALTER TABLE INVOICE
ADD CONSTRAINT INVOICE_UNQ_CUST_NUMB_PO
UNIQUE (CUSTOMER_NUMBER, CUSTOMER_PO_NUMBER);
Ràng buộc duy nhất
Ràng buộc duy nhất yêu cầu các giá trị trong cột phải khác nhau
Ví dụ:
ALTER TABLE INVOICE
ADD CONSTRAINT INVOICE_UNQ_CUST_NUMB_PO
UNIQUE (CUSTOMER_NUMBER, CUSTOMER_PO_NUMBER);
Slide 7- Thiết kế CSDL vật lý
25
Sử dụng từ khóa
UNIQUE
Tổ hợp giá trị của hai cột
CUSTOMER_NUMBER và


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status