Tải bản đầy đủ (.pptx) (143 trang)

CHỦ ĐỀ 3: PHÂN TÍCH, THIẾT KẾ VÀ CÀI ĐẶT CSDL( LẬP TRÌNH WEB )

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (793.24 KB, 143 trang )

TRƯỜNG ĐẠI HỌC NHA TRANG

THIEÁT KEÁ VAØ LAÄP TRÌNH
WEB
Chủ đề 3. PHÂN TÍCH, THIẾT KẾ VÀ CÀI ĐẶT CƠ SỞ DỮ LIỆU
CHO ỨNG DỤNG WEB

1


1. Các triết lý xây dựng Website
- Mục đích, nội dung của Website cần thiết kế
- Xác định đối tượng độc giả của Website
- Thiết lập các chủ đề
- Thiết kế các khối thông tin chủ yếu sẽ cung cấp

2


2. Phân tích, thiết kế, cài đặt và lập trình cơ sở dữ liệu cho bài toán

2.1 Đặc tả bài toán
- Nghiên cứu hiện trạng của hệ thống
- Đặc tả chức năng
- Đặc tả dữ liệu
- Xây dựng các công việc cần tin học hoá

3


2.2 Thiết kế bài toán


- Thiết kế giao diện
- Thiết kế dữ liệu
- Thiết kế xử lý

4


3. Hệ quản trị CSDL SQL Server
- SQL (Structured Query Language) là ngôn ngữ chuẩn được thiết kế để truy vấn và quản lý dữ
liệu trên hệ quản trị CSDL quan hệ.
- Đối với hệ quản trị CSDL SQL Server thì ngôn ngữ dùng để tương tác với cơ sở dữ liệu là T –
SQL. Ngôn ngữ T – SQL trên SQL Server bao gồm nhiều câu lệnh khác nhau, có thể chia thành
3 nhóm:
• Ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition Language): với các lệnh cho phép tạo, thay đổi
cấu trúc và xóa bỏ các đối tượng cơ sở dữ liệu như: view, table, database,…

• Ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language): với các lệnh như SELECT
/INSERT /UPDATE /DELETE cho phép lấy về dữ liệu cụ thể, thay đổi giá trị của dữ liệu.
• Ngôn ngữ điều khiển dữ liệu (DCL): với các lệnh cho phép hay ngăn chặn người dùng thao
tác dữ liệu.
- Cài đặt SQL Server (Sinh viên tự cài đặt)
5


Cơ sở dữ liệu trong SQL Server
- Cơ sở dữ liệu hệ thống:
 master: Ghi nhận thông tin cấp hệ thống, thông tin khởi tạo SQL Server và thiết lập
cấu hình SQL Server. Database này cũng ghi nhận tất cả các tài khoản đăng nhập, sự
tồn tại của các Database khác, vị trí tập tin chính cho tất cả Database người dùng.
 tempdb: Giữ các bảng tạm, các storedd procedure tạm,... Được dùng cho các nhu cầu

lưu trữ tạm của SQL Server.
 model: là khuôn mẫu cho tất cả các CSDL khác được tạo trên hệ thống kể cả tempdb.
Database model phải được tồn tại trên hệ thống, bởi vì nó được dùng để tạo lại
tempdb mỗi khi SQL server được khởi động.
 msdb: Giữ các bảng mà SQL Server Agent dùng để lập thời gian biểu thực thi các
công việc, các cảnh báo và các operator.
6


- Cơ sở dữ liệu ứng dụng:

 Một cơ sở dữ liệu ứng dụng có thể có các loại file sau:
• Primary Files: Mỗi CSDL phải có ít nhất một tập tin Primary Data File với
phần mở rộng là .MDF. Tập tin này ngoài nhiệm vụ cất trữ dữ liệu thuần
túy còn nhiệm vụ lưu trữ thông tin liên quan đến cấu trúc và đặc điểm
của chính CSDL đó (lưu trong các system tables).
• Secondary Files: Mỗi CSDL có thể không có hoặc có nhiều Secondary
Data File. Các tập tin này chỉ thuần túy lưu trữ dữ liệu và có phần mở
rộng là .NDF.
7


• Log Files: Mỗi CSDL phải có ít nhất một transaction log file (có phần mở
rộng là .LDF). Log file làm nhiệm vụ lưu trữ thông tin liên quan các giao
dịch (transaction) thực hiện trên CSDL đó. Thông tin này một phần phục vụ
cho thao tác Roll Back khi có lỗi giao dịch xảy ra.
• Các tập tin CSDL được tổ chức thành file group (nhóm) theo nguyên tắc:
Một CSDL có thể có một hay nhiều file group. Trong đó bắt buộc phải có một
file group chính gọi là PRIMARY.


8


• Mỗi file group có thể chứa một hay nhiều file (.MDF, .NDF). Trong đó phải
có ít nhất 1 tập tin Primary File (.MDF) nằm trong group chính PRIMARY.
• Các tập tin Log không thuộc về một file group nào cả.

Cách bố trí các file CSDL
9


Tạo CSDL:
Sử dụng lệnh CREATE DATABASE
CREATE DATABASE <Tên CSDL>
[ON PRIMARY <Khai báo tập tin .MDF>, [<Khai báo tập tin .NDF>,]…]
[FILEGROUP <Tên file group> <Khai báo tập tin .NDF>, [tin .NDF>,]…]...
[LOG ON <Khai báo tập tin .LDF>, [<Khai báo tập tin .LDF>,]…]

10


Ví dụ, tạo 1 CSDL có tên QLBH
CREATE DATABASE QLBH
ON PRIMARY
(NAME = QLBHM, FILENAME = “C:\DB\QLBH.MDF”, SIZE = 3MB,
FILEGROWTH = 10%),

MAXSIZE = UNLIMITED,


(NAME = QLBHN1, FILENAME = “C:\DB\QLBH1.NDF”, SIZE = 3MB,
FILEGROWTH = 10%),

MAXSIZE = UNLIMITED,

FILEGROUP FG
(NAME = QLBHN2, FILENAME = “C:\DB\QLBH2.NDF”, SIZE = 3MB,
FILEGROWTH = 10%),

MAXSIZE = UNLIMITED,

(NAME = QLBHN3, FILENAME = “C:\DB\QLBH3.NDF”, SIZE = 3MB,
FILEGROWTH = 10%)

MAXSIZE = UNLIMITED,

LOG ON
(NAME = QLBHL, FILENAME = “C:\DB\QLBH.LDF”, SIZE =
FILEGROWTH = 10%)

3MB,

MAXSIZE = UNLIMITED,

11


Sử dụng Management Tool
R_Click Database → New Database …


12


Đặt tên CSDL → OK

13


Xóa CSDL:
- Sử dụng lệnh DROP DATABASE
DROP DATABASE <tên CSDL>
Ví dụ: DROP DATABASE QLBH
- Sử dụng Management Tool
R_Click CSDL muốn xóa → Delete

14


Kiểu dữ liệu của SQL Server:
Kiểu dữ liệu

Ý nghĩa

bigint

Số nguyên 8 byte

binary[(n)]

Dữ liệu nhị phân có kích thước cố định n byte. Kích thước lưu trữ

là n+4 byte. Với 1
bit

Dữ liệu số nguyên nhận các giá trị 0, 1 hoặc NULL

char[(n)]

Dữ liệu ký tự, có chiều dài n ký tự, không hỗ trợ Unicode. Với độ
dài 1
datetime

Dữ liệu ngày giờ. Giá trị nhận từ 1/1/1753 đến 31/12/9999

decimal[(p,[s])]
numeric[(p,[s])]

Dữ liệu số thập phân. p là tổng số ký tự số có thể được lưu, s là số
chữ số thập phân.
15


float

Dữ liệu số động có phạm vi từ -1.79E+308 đến 1.79E+308

image

Dữ liệu nhị phân có chiều dài thay đổi, dài hơn 8000 byte và

tối đa là 2^31-1 byte.

int

Dữ liệu số nguyên từ -2^31 đến 2^31-1. Chiếm 4 byte.

money

Dữ liệu kiểu tiền tệ từ -2^63 đến 2^63. Chiếm 8byte.

nchar[(n)]

Dữ liệu ký tự, có chiều dài cố định n ký tự. Có hỗ trợ Unicode.
Với 1
ntext

Dữ liệu ký tự có chiều dài thay đổi, với chiều dài tối đa là
2^30-1 ký tự. Hỗ trợ unicode.

nvarchar[(n)]

Dữ liệu ký tự có chiều dài thay đổi với n ký tự. Có hỗ trợ
Unicode. Với 116


real
smalldatetime
smallint

smallmoney
sql_variant
text
timestamp

Dữ liệu số thực động, phạm vi từ - 3.4E+38 đến 3.4E+38. Chiếm 4
byte.
Dữ liệu ngày giờ từ 1/1/1900 đến 6/6/2079. Chiếm 4 byte.
Dữ liệu số nguyên từ -2^15 đến 2^15-1. Chiếm 2 byte.
Dữ liệu kiểu tiền tệ từ -2^31 đến 2^31. Chiếm 4 byte.
Cho phép giữ các giá trị của các kiểu dữ liệu khác nhau (tất cả các
kiểu dữ liệu hệ thống khác).
Dữ liệu ký tự có chiều dài thay đổi, dài hơn 8000byte. Có thể lưu tới
2^31 ký tự. Không hỗ trợ Unicode.
Cột timestamp được cập nhật tự động mỗi khi dòng được thêm hoặc
được cập nhật. Mỗi bảng chỉ có thể có 1 cột timestamp. Kích thước
lưu trữ là 8 byte.
17


Thiết kế bảng bằng công cụ:
Ví dụ, trong cơ sở dữ liệu QLBH, có 2 bảng dữ liệu như sau:

LOAISP
Tên thuộc tính
MaLoaiSP
TenLoaiSP

Kiểu dữ liệu
nvarchar(10)

nvarchar(40)

Giải thích
Mã loại SP – Khóa chính
Tên loại SP

Kiểu dữ liệu
nvarchar(10)
nvarchar(40)
money
nvarchar(10)

Giải thích
Mã sản phẩm – Khóa chính
Tên sản phẩm
Đơn giá
Mã loại sản phẩm – Khóa ngoại

SANPHAM
Tên thuộc tính
MaSP
TenSP
Dongia
MaloaiSP

18


Tạo bảng:
Chọn đối tượng Tables trong

CSDL cần thiết kế → R_Click
→ New Table …

19


- Nhập tên thuộc tính tại Column Name
- Thiết kế kiểu dữ liệu tại Data Type

- Thiết lập khóa chính: Chọn thuộc tính làm khóa chính → R_Click →
Set Primary Key
- Lưu và đặt tên bảng
20


Lưu ý:
- Thay đổi thiết kế bảng: Chọn bảng cần thay đổi → R_Click → Design
- Xóa bảng: Chọn bảng cần xóa → R_Click → Delete

21


Lược đồ - Database Diagrams
• Ý nghĩa: Dùng để thiết lập mối quan hệ giữa các bảng, kiểm tra sự liên
kết dữ liệu giữa các thuộc tính khoá ngoại của các bảng dữ liệu.

22


- Các mối quan hệ:

 Quan hệ một - một: Quan hệ giữa hai bảng được thiết lập khi trường quan
hệ đều là khóa chính ở cả hai bảng.
 Quan hệ một - nhiều: Quan hệ giữa hai bảng mà khóa chính trong một bảng
được kết nối với trường (thuộc tính) là khoá ngoại của một bảng khác.

23


Nhập dữ liệu trực tiếp vào bảng
Chọn bảng cần nhập liệu →
R_Click → Edit Top 200 Rows
→ Nhập dữ liệu vào các cột của
bảng.

Lưu ý, khi nhập dữ liệu vào các bảng nên chú ý các ràng buộc toàn vẹn:
khóa chính, khóa ngoại, ràng buộc giá trị, …
24


Thiết kế bảng bằng lệnh T – SQL:
Tạo bảng:
CREATE TABLE <Tên bảng>
(
<tên cột 1> <kiểu dữ liệu> [<các ràng buộc cột 1>]
<tên cột 2> <kiểu dữ liệu> [<các ràng buộc cột 2>]

<tên cột n> <kiểu dữ liệu> [<các ràng buộc cột n>]
[, <các ràng buộc trên bảng>]

)

<Các ràng buộc> có thể là: CHECK, PRIMARY KEY, FOREIGN KEY,
DEFAULT, …
25


×