Xây dựng cơ sở dữ liệu
Huỳnh Phước Hải
Email:
Nội dung
• Một số khái niệm về DB
• Trình tự tạo Table
• Đặc điểm các thuộc tính của các Field
• Các thao tác trên bảng
• Tạo quan hệ giữa các bảng
• Nhập liệu vào bảng
• Thực hành
Các vấn đề khi lưu trữ thông tin
• Trùng lắp và dư thừa dữ liệu?
• Tìm kiếm dữ liệu như thế nào?
• Lưu trữ như thế nào cho tối ưu?
• Làm sao bảo mật thông tin tốt?
• Làm sao khai thác thông tin hiệu quả?
Cơ sở dữ liệu
• Là một tập hợp dữ liệu đã được tổ
chức có cấu trúc để người dùng sử
dụng hiệu quả hơn.
• Ví du: Sổ danh bạ điện thoại, Bảng
điểm sinh viên….
Ví dụ 1
Cơ sở dữ liệu Quản lý hóa đơn
Bảng Hóa đơn
Cấu trúc bảng hóa đơn
Tên cột
Kiểu dữ liệu
Sinh viên thực hành
• Mở cơ sở dữ liệu Quản lý hóa đơn để
xem cấu trúc các bảng, sơ đồ quan
hệ giữa các bảng.
• Mở cơ sở dữ liệu Quản lý khách sạn
để xem cấu trúc các bảng, sơ đồ
quan hệ giữa các bảng.
MS Access 2010
• Microsoft Access là một Hệ Quản Trị Cơ Sở
Dữ Liệu (QTCSDL) tương tác người sử dụng
chạy trong môi trường Windows. Microsoft
Access cho chúng ta một công cụ hiệu lực và
đầy sức mạnh trong công tác tổ chức, tìm kiếm
và biểu diễn thông tin.
Bảng dữ liệu
• Bảng là nơi chứa dữ liệu về một đối
tượng thông tin nào đó như SINH VIÊN,
HÓA ĐƠN,
• Bảng có nhiều cột (Field). Mỗi cột có một
kiểu dữ liệu khác nhau.
• Mỗi hàng trong bảng gọi là một bản ghi
(record) chứa các nội dung riêng của đối
tượng đó.
Các bước tạo bảng
1. Create – Table
2. Nhập tên cột (Field), kiểu dữ liệu (Data
Type), qui định thuộc tính và định dạng
của mỗi cột.
3. Đặt khóa chính (Primary Key)
4. Lưu tên bảng
1. Tạo bảng
2. Các thao tác với Field
3. Tạo khóa chính
• Click phải vào Field đặt khóa chính.
Chọn Primary Key
Khóa chính là gì?
• Sức mạnh của một Hệ QTCSDL như Microsoft
Access, là khả năng mau chóng truy tìm và rút
dữ liệu từ nhiều bảng khác nhau trong CSDL.
Để hệ thống có thể làm được điều này một cách
hiệu quả, mỗi bảng trong CSDL cần có một
trường hoặc một nhóm các trường có thể xác
định duy nhất một bản ghi trong số rất nhiều bản
ghi đang có trong bảng. Đây thường là một mã
nhận diện như Mã nhân viên hay Số Báo Danh
của học sinh.
Thảo luận
• Tìm khóa chính trong các field sau:
– HOCSINH(MaHS, TenHS, NgaySinh, Lop)
– HOADON(MaHD, NgayHD, LoaiHD)
– LOP(MaLop, TenLop)
– DIEM(TenCotDiem, Diem)
4. Lưu bảng
• Nhấn Ctrl + S hoặc Save. Sau đó đặt
tên bảng. Chú ý: Khuyến cáo tên
Bảng viết hoa, chữ không dấu và
không có khoảng trắng
Kiểu dữ liệu
Kiểu dữ liệu
Dữ liệu vào
Kích thước
Text
Văn bản
Tối đa 255 byte
Memo
Văn bản nhiều dòng, trang
Tối đa 64000 bytes
Number
Số
1,2,4 hoặc 8 byte
Date/Time
Ngày giờ
8 byte
Currency
Tiền tệ (Số)
8 byte
Auto number
ACCESS tự động tăng lên một khi
một bản ghi được tạo
4 byte
Yes/No
Lý luận (Boolean)
1 bit
OLE Object
Đối tượng của phần mềm khác
Tối đa 1 giga byte
Lookup Wizard
Trường nhận giá trị do
người dùng chọn từ 1
bảng khác hoặc 1 danh
sách giá trị định trước
Hyper link
Liên kết các URL
Câu hỏi thảo luận
• Tại sao khi thiết kế cơ sở dữ liệu.
Việc tạo ra các trường có kiểu dữ liệu
phù hợp rất quan trọng.
Một số kỹ thuật khi tạo Bảng
• Qui định thuộc tính định dạng cho
trường.
Qui định thuộc tính – định dạng
• Đặt thuộc tính là một phần không kém quan
trọng, nó quyết định đến dữ liệu thực sự lưu
giữa trong bảng, kiểm tra độ chính xác dữ
liệu khi nhập vào, định dạng dữ liệu nhập
vào.
• Mỗi một kiểu dữ liệu sẽ có các thuộc tính và
các đặc trưng và khác nhau. Sau đây là các
thuộc tính, định dạng của các kiểu dữ liệu.
Qui định thuộc tính – định dạng
• Các vấn đề thực tế:
– Ngày sinh: ?
– Điểm học tập: ?
– Số điện thoại: ?
– Email: ?
Thuộc tính Field Size
Quy định kích thước của trường và tùy thuộc vào từng
kiểu dữ liệu
– Kiểu Text: Chúng ta quy định độ dài tối đa của chuỗi.
– Kiểu Number: Có thể chọn một trong các loại sau:
• Byte: 0 255
• Integer: -32768 3276.
• Single:-3,4x10
38
3,4x10
38
(Tối đa 7 số lẻ)
• Double: -1.797x10
308
1.797x10
308
(Tối đa 15 số lẻ)
• Decimal Places: Quy định số chữ số thập phân ( Chỉ sử dụng
trong kiểu Single và Double)
• Đối với kiểu Currency mặc định decimal places là 2
Ví dụ:
• Điểm số ?
• Tuổi ?
• Số lượng hàng hóa ?
• Hệ số lương ?
• Tiền lương ?