SlideShare a Scribd company logo
Đại Học Sư Phạm Tp. Hồ Chí MinhĐại Học Sư Phạm Tp. Hồ Chí Minh
Khoa ToánKhoa Toán –– Tin HọcTin Học
QUẢN TRỊ CƠ SỞ DỮ LIỆUQUẢN TRỊ CƠ SỞ DỮ LIỆUQUẢN TRỊ CƠ SỞ DỮ LIỆUQUẢN TRỊ CƠ SỞ DỮ LIỆU
ĐỊNH NGHĨA CẤU TRÚC CSDL
Người trình bày: Trần Ngọc Bảo
Email: baotn@hcmup.edu.vn
Đặt vấn đề
Xâ dXâ d
Yêu cầu bài
toán
Xây dựngXây dựng
mô hìnhmô hình
CDMCDM
Convert sangConvert sang
mô hình PDMmô hình PDM
Phát sinh ra tậpPhát sinh ra tập
Mô hình CDM
tin Scripttin Script
Run script trongRun script trong
SQL S đểSQL S để
Tập tin script
SQL Server đểSQL Server để
tạo CSDLtạo CSDLMô hình PDM
CSDL
(LT)
Cài đặt chươngCài đặt chươngCSDL
Tran Ngoc BaoTran Ngoc Bao DaiDai hoc Su Pham TP.HCMhoc Su Pham TP.HCMTRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (22))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (22))2
ặ gặ g
trình (Setup.exe)trình (Setup.exe)(KH)
UU
DLDL Các thành phần cơ bản trong tập tin scriptSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
(1)
Câu lệnh
tạo
Database
(1)
Câu lệnh
tạo
Database
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
(2)
Câu lệnh
tạo, sửa,
xóa Table
(2)
Câu lệnh
tạo, sửa,
xóa Table
(6)
Các câu
lệnh khác
(6)
Các câu
lệnh khác
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Tập tin
Script
Tập tin
Script
óa abóa ab
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
(3)
Câu lệnh
tạo
primary
(3)
Câu lệnh
tạo
primary
(5)
Câu lệnh
cập nhật
dữ liệu
(5)
Câu lệnh
cập nhật
dữ liệu
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
primary
key
primary
key
(4)
Câu lệnh
tạo Foreign
(4)
Câu lệnh
tạo Foreign
dữ liệu
(Insert…)
dữ liệu
(Insert…)
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (33))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (33))
ạ g
key
ạ g
key
UU
DLDL Đặt vấn đề
• Phân loại tập tin script
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Phân loại tập tin script
Tập tin tạo CSDL và cấu trúc CSDL
Tập tin cập nhật dữ liệu (thêm, xóa, sửa)
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Tập tin cập nhật dữ liệu (thêm, xóa, sửa)
• Tập tin tạo cấu trúc cơ sở dữ liệu
Câu lệnh tạo , xóa, sửa Table
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Câu lệnh tạo , xóa, sửa Table
Câu lệnh tạo khóa chính
Câu lệnh tạo khóa ngoại
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
ệ ạ g ạ
Câu lệnh tạo kiểu dữ liệu (user-defined data type)
Câu lệnh tạo hàm (user-defined function)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Câu lệnh tạo View
Câu lệnh tạo Stored procedure
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (44))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (44))
….
UU
DLDL Đặt vấn đề
• Phân loại tập tin script
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Phân loại tập tin script
Tập tin tạo CSDL và cấu trúc CSDL
Tập tin cập nhật dữ liệu (thêm, xóa, sửa)
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Tập tin cập nhật dữ liệu (thêm, xóa, sửa)
• Tập tin script cập nhật dữ liệu
Câu lệnh thêm dữ liệu (INSERT)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Câu lệnh thêm dữ liệu (INSERT)
Câu lệnh xóa dữ liệu (DELETE)
Câu lệnh sửa dữ liệu (UPDATE)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
ệ ệ ( )
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (55))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (55))
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
ĐỊNH NGHĨA CẤUĐỊNH NGHĨA CẤU
TRÚC & THAO TÁCTRÚC & THAO TÁCTRÚC & THAO TÁCTRÚC & THAO TÁC
CSDLCSDL
• Các câu lệnh tạo cấu trúc CSDL
• Các câu lệnh cập nhật dữ liệu• Các câu lệnh cập nhật dữ liệu
UU
DLDL MỤC TIÊUSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Biết được cú pháp các câu lệnh tạo CSDL.
Biết á h ú há á â lệ h ậ hật
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
• Biết cách cú pháp các câu lệnh cập nhật
dữ liệu.
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
• Biết cách tạo CSDL từ tập tin script
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
• Biết sử dụng Power Designer phát sinh
script.
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
• Biết sử dụng SQL Server để phát sinh
script
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (77))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (77))77
script.
UU
DLDL Định nghĩa dữ liệu
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Là ngôn ngữ mô tả:
– Lược đồ cho mỗi quan hệ
Miền giá trị tương ứng của từng thuộc tính
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
– Miền giá trị tương ứng của từng thuộc tính
– Ràng buộc toàn vẹn
– Chỉ mục trên mỗi quan hệ
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
• Gồm có:
– CREATE TABLE (tạo bảng)
– DROP TABLE (xóa bảng)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
DROP TABLE (xóa bảng)
– ALTER TABLE (sửa bảng)
– CREATE DATABASE (tạo CSDL)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
– …
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (88))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (88))
UU
DLDL Kiểu dữ liệu
Số ( i )
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Số (numeric)
– INTEGER
SMALLINT
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
– SMALLINT
– NUMERIC, NUMERIC(p), NUMERIC(p,s)
– DECIMAL DECIMAL(p) DECIMAL(p s)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
DECIMAL, DECIMAL(p), DECIMAL(p,s)
– REAL
– DOUBLE PRECISION
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
– FLOAT, FLOAT(p)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (99))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (99)) 99
UU
DLDL Kiểu dữ liệu
ỗ ỗ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Chuỗi - không hỗ trợ Unicode
– char(n): chiều dài chuỗi cố định
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
– varchar(n): chiều dài chuỗi không cố
định, tối đa 8000 ký tự
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
– varchar(max): chiều dài chuỗi không cố
định, tối đa 2^31 -1 ký tự.
ề ỗ ố ố
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
– Text: chiều dài chuỗi không cố định, tối đa
2^31 -1 ký tự
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Ghi chú:
- n ≤ 8000: tối đa 8000 ký tự (byte)
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1010))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1010))
UU
DLDL Kiểu dữ liệu
ỗ ỗ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Chuỗi - có hỗ trợ Unicode
– nchar(n): chiều dài chuỗi cố định
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
– nvarchar(n): chiều dài chuỗi không cố
định, tối đa 4000 ký tự
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
– nvarchar(max): chiều dài chuỗi không cố
định, tối đa 2^30 -1 ký tự.
ề ỗ ố ố
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
– nText: chiều dài chuỗi không cố định, tối
đa 2^30 -1 ký tự.
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Ghi chú:
- Mỗi ký tự được lưu thành 2 byte
- n ≤ 4000: tối đa 4000 ký tự (8000 byte)
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1111))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1111))
- n ≤ 4000: tối đa 4000 ký tự (8000 byte)
UU
DLDL Kiểu dữ liệuSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Ngày/giờ
– Datetime/ smalldatetime
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Data Type Range Storage
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Datetime January 1, 1753, through December 31,
9999
8 byte
smalldatetime January 1 1900 through June 6 2079 8 byte
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
smalldatetime January 1, 1900, through June 6, 2079 8 byte
ầ
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Ghi chú: 4 byte đầu lưu trữ thông tin ngày, 4 byte sau lưu trữ thông tin giờ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1212))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1212))
UU
DLDL Lệnh tạo bảng
• Để định nghĩa một bảng
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Để định nghĩa một bảng
– Tên bảng
– Các thuộc tính
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
• Tên thuộc tính
• Kiểu dữ liệu
• Các RBTV trên thuộc tính
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
• Cú pháp
CREATE TABLE < Tên quan hệ> (
Th ộ tí h Kiể [ Kí h th ớ ] [NOT NULL]
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
<Thuộc tính> <Kiểu> [<Kích thước>] [NOT NULL],….
PRIMARY KEY (<Khoá chính>)
[UNIQUE (<Khoá chỉ định>),…]
[FOREIGN KEY (<Khoá ngoại>) REFERENCES <bảng> ]
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
[FOREIGN KEY (<Khoá ngoại>) REFERENCES <bảng>,…]
[CHECK < Điều kiện ràng buộc>, …]
[CONSTRAINT <Tên ràng buộc> <kiểu ràng buộc>] )
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1313))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1313))1313
Lệnh tạo bảng
Ý NGHĨA
Lệnh tạo một bảng rỗng có cấu trúc gồm các thuộc tính với các
kiể dữ liệ t ứ ù ới ột ố th ốkiểu dữ liệu tương ứng, cùng với một số tham số.
-Các kiểu dữ liệu có thể sử dụng như: char(n), smallint, integer,
decimal(p,s), real, datetime, binary, ...decimal(p,s), real, datetime, binary, ...
- not null: thuộc tính không lấy giá trị rỗng. Lưu ý thuộc tính
khoá mặc nhiên bị ràng buộc not null.
- primary key (<khoá chính>): khai báo khoá chính của bảng.
- unique (<khoá>): khai báo các khoá chỉ định khác (nếu có)
f i k ( kh á i ) kh i bá kh á i ủ bả- foreign key (<khoá ngoại>) : khai báo khoá ngoại của bảng
- check <điều kiện ràng buộc>: mô tả các ràng buộc miền giá trị
Tran Ngoc BaoTran Ngoc Bao DaiDai hoc Su Pham TP.HCMhoc Su Pham TP.HCMTRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1414))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1414))1414
UU
DLDL Ví dụ - Tạo bảng
CREATE TABLE SINHVIEN (
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
CREATE TABLE SINHVIEN (
MASV VARCHAR(10),
TENSV VARCHAR(30),
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
NGAYSINH DATETIME,
DIACHI VARCHAR(50),
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NAMTS INT )
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1515))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1515))1515
UU
DLDL Ví dụ - Tạo bảng
CC
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
ChọnChọn ExecuteExecute
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
ChọnChọn New QueryNew Query
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
NhậpNhập câu lệnh tạo Tablecâu lệnh tạo Table
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1616))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1616))
UU
DLDL Ví dụ - Tạo bảng
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TableTable SINHVIENSINHVIEN được tạo từđược tạo từ
lệnhlệnh CREATE TABLECREATE TABLE
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1717))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1717))
UU
DLDL Ví dụ - Tạo bảng có khóa chính
CREATE TABLE SINHVIEN (
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
CREATE TABLE SINHVIEN (
MASV VARCHAR(10),
TENSV VARCHAR(30),
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
NGAYSINH DATETIME,
DIACHI VARCHAR(50),
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NAMTS INT,
primary key (MaSV)
)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1818))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1818))1818
UU
DLDL Ví dụ - Tạo bảng có khóa chính
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TableTable SINHVIENSINHVIEN được tạo từđược tạo từ
lệnhlệnh CREATE TABLECREATE TABLE cócó KHÓA CHÍNHKHÓA CHÍNH
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1919))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1919))1919
UU
DLDL Lệnh sửa bảng
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Được dùng để
– Thay đổi cấu trúc bảng
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
– Thay đổi RBTV
Thê ột
ALTER TABLE <Tên bảng> ADD
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
• Thêm cột
ALTER TABLE Tên_bảng ADD
<Tên_cột> <Kiểu_dữ_liệu> [<RBTV>]
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
• Xóa cột ALTER TABLE <Tên_bảng> DROP COLUMN <Tên_cột>
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
• Mở rộng cột
ALTER TABLE <Tên_bảng> ALTER COLUMN
<Tên_cột> <Kiểu_dữ_liệu_mới>
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2020))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2020))2020
UU
DLDL Lệnh sửa bảng (tt)
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Thêm RBTV
ALTER TABLE <Tên_bảng> ADD
CONSTRAINT <Ten RBTV> <RBTV>
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
CONSTRAINT <Ten_RBTV> <RBTV>,
CONSTRAINT <Ten_RBTV> <RBTV>,
…
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
• Xóa RBTV
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
ALTER TABLE <Tên_bảng> DROP <Tên_RBTV>
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2121))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2121))2121
UU
DLDL Ví dụ - Thay đổi cấu trúc bảng
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
ALTER TABLE SINHVIEN ADD EMAIL VARCHAR(20)
THÊM CỘT
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
ALTER TABLE SINHVIEN ADD EMAIL VARCHAR(20)
XOÁ CỘT
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
ALTER TABLE SINHVIEN DROP COLUMN EMAIL
THAY ĐỔI ĐỘ RỘNG CỘT
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
ALTER TABLE SINHVIEN ALTER COLUMN
DIACHI VARCHAR(100)
Ộ Ộ Ộ
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
DIACHI VARCHAR(100)
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2222))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2222))
UU
DLDL Ví dụ - Tạo bảng có thuộc tính Unique
CREATE TABLE KHOA(
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
CREATE TABLE KHOA(
MAKHOA VARCHAR(4) not null,
TENKHOA VARCHAR(100) not null
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
TENKHOA VARCHAR(100) not null,
primary key (MAKHOA),
unique (TENKHOA)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
q ( )
)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2323))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2323))2323
UU
DLDL Ví dụ - Tạo bảng có thuộc tính Unique
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
ThuộcThuộc tínhtính TENKHOATENKHOA củacủa
TTableable SINHVIENSINHVIEN
Là duy nhấtLà duy nhất
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Th ộTh ộ tí htí h TENKHOATENKHOA ủủ
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
ThuộcThuộc tínhtính TENKHOATENKHOA củacủa
TTableable SINHVIENSINHVIEN
Là duy nhấtLà duy nhất
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2424))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2424))2424
UU
DLDL Ví dụ - Tạo quan hệ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TableTable SINHVIENSINHVIEN chưa được tạochưa được tạo
Quan hệ với TableQuan hệ với Table KHOAKHOA
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2525))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2525))
UU
DLDL Ví dụ - Thay đổi cấu trúc bảng
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
SAU KHI TẠO QUAN HỆ PHONGBAN NHANVIEN BỔ SUNG THÊM
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
ALTER TABLE SINHVIEN ADD MAKHOA VARCHAR(4)
SAU KHI TẠO QUAN HỆ PHONGBAN, NHANVIEN - BỔ SUNG THÊM:
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
ALTER TABLE SINHVIEN
ADD Foreign key (MAKHOA) references KHOA(MAKHOA)
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2626))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2626))
UU
DLDL Ví dụ - Tạo quan hệ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
T blT bl SINHVIENSINHVIEN đã đ tđã đ t
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TableTable SINHVIENSINHVIEN đã được tạođã được tạo
quan hệ với Tablequan hệ với Table KHOAKHOA
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2727))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2727))
UU
DLDL Ví dụ - Tạo quan hệ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
TableTable SINHVIENSINHVIEN đã được tạođã được tạo
hệ ới T blhệ ới T bl KHOAKHOA
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
quan hệ với Tablequan hệ với Table KHOAKHOA
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2828))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2828))
UU
DLDL Lệnh xóa bảng
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Được dùng để xóa cấu trúc bảng
– Tất cả dữ liệu của bảng cũng bị xóa
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
• Cú pháp
DROP TABLE <Tên_bảng>
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
• Ví dụ
DROP TABLE SINHVIEN
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
DROP TABLE SINHVIEN
DROP TABLE KHOA
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
CHÚ Ý ĐẾN THỨ TỰ KHI XOÁ LIÊN QUAN ĐẾN RELATIONSHIP
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2929))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2929))2929
UU
DLDL Lệnh xóa bảng (tt)
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
ALTER TABLE SINHVIEN DROP FK__SINHVIEN__MAKHOA__....(1)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
DROP TABLE SINHVIEN(2)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
DROP TABLE KHOA(3)
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3030))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3030))3030
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
Ĩ ẤĨ ẤĐỊNH NGHĨA CẤUĐỊNH NGHĨA CẤU
TRÚC & THAO TÁCTRÚC & THAO TÁCTRÚC & THAO TÁCTRÚC & THAO TÁC
CSDLCSDL
• Các câu lệnh tạo cấu trúc CSDL
• Các câu lệnh cập nhật dữ liệu• Các câu lệnh cập nhật dữ liệu
UU
DLDL Lệnh INSERT
ù ể ê ề ò à
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Dùng để thêm 1 hay nhiều dòng vào
bảng
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
• Để thêm dữ liệu
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Để thêm dữ liệu
– Tên quan hệ
– Danh sách các thuộc tính cần thêm dữ
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Danh sách các thuộc tính cần thêm dữ
liệu
– Danh sách các giá trị tương ứng
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Danh sách các giá trị tương ứng
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3232))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3232))3232
UU
DLDL Lệnh INSERT (tt)
Cú há (thê 1 dò )
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Cú pháp (thêm 1 dòng)
INSERT INTO <tên bảng>(<danh sách các thuộc tính>)
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
INSERT INTO <tên bảng>(<danh sách các thuộc tính>)
VALUES (<danh sách các giá trị>)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
INSERT INTO SINHVIEN(MASV, TENSV, DIACHI, NAMTS)
VALUES (‘0800123, ‘Nguyen Van A’, ‘280 An Duong Vuong’, 2009)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
( , g y , g g, )
INSERT INTO SINHVIEN(MASV, TENSV, NAMTS, DIACHI)
VALUES (‘0800124’, ‘Tran Van A’, 2009, NULL)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
INSERT INTO SINHVIEN
VALUES (‘0800125’, ‘Nguyen Van A’, ’12/02/1980’, NULL, 2009)
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3333))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3333))
UU
DLDL Lệnh INSERT (tt)
Nhậ é
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Nhận xét
– Thứ tự các giá trị phải trùng với thứ tự các cột
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
– Có thể thêm giá trị NULL ở những thuộc tính
không là khóa chính và NOT NULL
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
g
– Câu lệnh INSERT sẽ gặp lỗi nếu vi phạm
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
• Khóa chính
• Tham chiếu
• NOT NULL - các thuộc tính có ràng buộc NOT NULL
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
NOT NULL các thuộc tính có ràng buộc NOT NULL
bắt buộc phải có giá trị
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3434))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3434))3434
UU
DLDL Lệnh INSERT (tt)SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Cú pháp (thêm nhiều dòng)
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
INSERT INTO <tên bảng>(<danh sách các thuộc tính>)
<câu truy vấn con>
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
câu t uy ấ co
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3535))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3535))3535
UU
DLDL Lệnh DELETE
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Dùng để xóa các dòng của bảng
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
• Cú pháp
ê ả
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
DELETE FROM <tên bảng>
[WHERE <điều kiện>]
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3636))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3636))3636
UU
DLDL Ví dụ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
DELETE FROM SINHVIEN
–Xoá tất cả sinh viên có NAMTS = 2009 trong Table SINHVIEN
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
DELETE FROM SINHVIEN
WHERE NAMTS= 2009
X á i h iê ó ã ố ‘0800123’ t T bl SINHVIEN
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
DELETE FROM SINHVIEN
WHERE MASV ‘0800123’
–Xoá sinh viên có mã số = ‘0800123’ trong Table SINHVIEN
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
WHERE MASV=‘0800123’
DELETE FROM SINHVIEN
–Xoá tất cả sinh viên có trong Table SINHVIEN
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
DELETE FROM SINHVIEN
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3737))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3737))3737
UU
DLDL Lệnh DELETE (tt)
Nhậ ét
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Nhận xét
– Số lượng số dòng bị xóa phụ thuộc vào điều kiện ở mệnh
đề WHERE
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
– Nếu không chỉ định điều kiện ở mệnh đề WHERE, tất cả
các dòng trong bảng sẽ bị xóa
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
g g g ị
– Lệnh DELETE có thể gây ra vi phạm RB tham chiếu
• Không cho xóa
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
• Không cho xóa
• Xóa luôn những dòng có giá trị đang tham chiếu đến
– CASCADE
• Đặt NULL cho những giá trị tham chiếu
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Đặt NULL cho những giá trị tham chiếu
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3838))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3838))3838
UU
DLDL Lệnh UPDATE
ù ể ổ á ủ ộ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Dùng để thay đổi giá trị của thuộc
tính cho các dòng của bảng
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
• Cú pháp
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Cú pháp
UPDATE <tên bảng>
SET <tên thuộc tính>=<giá trị mới>
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
SET <tên thuộc tính>=<giá trị mới>,
<tên thuộc tính>=<giá trị mới>,
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
…
[WHERE <điều kiện>]
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3939))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3939)) 33
UU
DLDL Ví dụ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
UPDATE SINHVIEN
SET DIACHI=’280 AN DUONG VUONG’
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
WHERE MASV=‘0800125
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
UPDATE SINHVIEN
SET NAMTS=NAMTS+1
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
SET NAMTS NAMTS+1
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4040))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4040))4040
UU
DLDL Lệnh UPDATE (tt)
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Nhận xét
– Những dòng thỏa điều kiện tại mệnh đề WHERE
sẽ được cập nhật giá t ị mới
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
sẽ được cập nhật giá trị mới
– Nếu không chỉ định điều kiện ở mệnh đề
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Nếu không chỉ định điều kiện ở mệnh đề
WHERE, tất cả các dòng trong bảng sẽ bị cập
nhật
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4141))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4141))
UU
DLDL Lệnh tạo/xóa Database
• Cú pháp tạo CSDL
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Cú pháp tạo CSDL
CREATE DATABASE < Tên CSDL>
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
• Cú pháp xóa CSDL
DROP DATABASE < Tên CSDL>
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4242))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4242))4242
UU
DLDL Thuộc tính khóa tăng tự động
• Cú pháp tạo table với thuộc tính (khóa chính)
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Cú pháp tạo table với thuộc tính (khóa chính)
tăng tự động
CREATE TABLE [db ] [Tê T bl ](
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
CREATE TABLE [dbo].[Tên Table](
[Tên thuộc tính] [kiểu dữ liệu số] IDENTITY(1,1) NOT NULL,
……
)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
• Ví dụ
)
CREATE TABLE [dbo].[HOADON](
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
CREATE TABLE [dbo].[HOADON](
[MaHD] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[SoHD] [varchar](10) NULL,
…
CONSTRAINT [PK HD] PRIMARY KEY CLUSTERED
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
CONSTRAINT [PK_HD] PRIMARY KEY CLUSTERED
(
[MaHD] ASC
)WITH (IGNORE DUP KEY = OFF) ON [PRIMARY]
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4343))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4343))
) ( _ _ ) [ ]
) ON [PRIMARY]
UU
DLDL Kiểu dữ liệu User-defined (Data Type)
• Cú pháp tạo kiểu dữ liệu do người dùng định
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Cú pháp tạo kiểu dữ liệu do người dùng định
nghĩa
CREATE TYPE [dbo].[Tên kiểu DL] FROM [Kiểu dữ liệu hệ thống]
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
• Ví dụ
[ ] [ ] [ ệ ệ g]
[NOT NULL]
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
CREATE TYPE [dbo].[TNBNAME] FROM [varchar](100) NOT NULL
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4444))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4444))4444
UU
DLDL
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4545))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4545)) 45

More Related Content

Viewers also liked

Db 07
Db 07Db 07
Db 09
Db 09Db 09
Db 08
Db 08Db 08
Db 11
Db 11Db 11
Db 10
Db 10Db 10
Learning C# (Vietnamese)
Learning C# (Vietnamese)Learning C# (Vietnamese)
Learning C# (Vietnamese)
Nguyen Hung
 
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
Long Kingnam
 
Linq-to-sql-tutorial
Linq-to-sql-tutorialLinq-to-sql-tutorial
Linq-to-sql-tutorial
Pham Ngoc Long
 
Tối ưu-cau-lệnh-oracle-sql
Tối ưu-cau-lệnh-oracle-sqlTối ưu-cau-lệnh-oracle-sql
Tối ưu-cau-lệnh-oracle-sql
Viet Tran
 
Ngon ngu lap trinh c# tieng viet - bach khoaaptech.com
Ngon ngu lap trinh c#   tieng viet - bach khoaaptech.comNgon ngu lap trinh c#   tieng viet - bach khoaaptech.com
Ngon ngu lap trinh c# tieng viet - bach khoaaptech.com
Nguyễn Thành
 
Chuong 5 toi_uu_hoa_van_tin
Chuong 5 toi_uu_hoa_van_tinChuong 5 toi_uu_hoa_van_tin
Chuong 5 toi_uu_hoa_van_tin
MasterCode.vn
 
Chuong 4 - CSDL phân tán
Chuong 4 - CSDL phân tánChuong 4 - CSDL phân tán
Chuong 4 - CSDL phân tánduysu
 
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vnLập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
tailieumienphi
 
Chuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tánChuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tánduysu
 
Chuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tánChuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tánduysu
 
Chuong 3- CSDL phân tán
Chuong 3- CSDL phân tánChuong 3- CSDL phân tán
Chuong 3- CSDL phân tánduysu
 
Các thuật toán mã hóa
Các thuật toán mã hóaCác thuật toán mã hóa
Các thuật toán mã hóa
dlmonline24h
 
Se barba fosse respeito, bode não era
Se barba fosse respeito, bode não eraSe barba fosse respeito, bode não era
Se barba fosse respeito, bode não era
Rosangela Souza
 
BIS_437_Senior Project_C.Hovis_2015 (1)
BIS_437_Senior Project_C.Hovis_2015 (1)BIS_437_Senior Project_C.Hovis_2015 (1)
BIS_437_Senior Project_C.Hovis_2015 (1)
Catriena Hovis
 

Viewers also liked (19)

Db 07
Db 07Db 07
Db 07
 
Db 09
Db 09Db 09
Db 09
 
Db 08
Db 08Db 08
Db 08
 
Db 11
Db 11Db 11
Db 11
 
Db 10
Db 10Db 10
Db 10
 
Learning C# (Vietnamese)
Learning C# (Vietnamese)Learning C# (Vietnamese)
Learning C# (Vietnamese)
 
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
 
Linq-to-sql-tutorial
Linq-to-sql-tutorialLinq-to-sql-tutorial
Linq-to-sql-tutorial
 
Tối ưu-cau-lệnh-oracle-sql
Tối ưu-cau-lệnh-oracle-sqlTối ưu-cau-lệnh-oracle-sql
Tối ưu-cau-lệnh-oracle-sql
 
Ngon ngu lap trinh c# tieng viet - bach khoaaptech.com
Ngon ngu lap trinh c#   tieng viet - bach khoaaptech.comNgon ngu lap trinh c#   tieng viet - bach khoaaptech.com
Ngon ngu lap trinh c# tieng viet - bach khoaaptech.com
 
Chuong 5 toi_uu_hoa_van_tin
Chuong 5 toi_uu_hoa_van_tinChuong 5 toi_uu_hoa_van_tin
Chuong 5 toi_uu_hoa_van_tin
 
Chuong 4 - CSDL phân tán
Chuong 4 - CSDL phân tánChuong 4 - CSDL phân tán
Chuong 4 - CSDL phân tán
 
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vnLập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
 
Chuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tánChuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tán
 
Chuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tánChuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tán
 
Chuong 3- CSDL phân tán
Chuong 3- CSDL phân tánChuong 3- CSDL phân tán
Chuong 3- CSDL phân tán
 
Các thuật toán mã hóa
Các thuật toán mã hóaCác thuật toán mã hóa
Các thuật toán mã hóa
 
Se barba fosse respeito, bode não era
Se barba fosse respeito, bode não eraSe barba fosse respeito, bode não era
Se barba fosse respeito, bode não era
 
BIS_437_Senior Project_C.Hovis_2015 (1)
BIS_437_Senior Project_C.Hovis_2015 (1)BIS_437_Senior Project_C.Hovis_2015 (1)
BIS_437_Senior Project_C.Hovis_2015 (1)
 

Similar to Db 03

Bài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL serverBài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL server
MasterCode.vn
 
Db 00
Db 00Db 00
Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP T...
Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP T...Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP T...
Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP T...
MasterCode.vn
 
Bai giang thnc phan acccess
Bai giang thnc phan acccessBai giang thnc phan acccess
Bai giang thnc phan acccessNga Hà
 
Tin học ứng dụng trong kinh doanh data4u
Tin học ứng dụng trong kinh doanh data4uTin học ứng dụng trong kinh doanh data4u
Tin học ứng dụng trong kinh doanh data4u
Xephang Daihoc
 
bai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptbai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.ppt
HungHuyNguyen3
 
Slide co-so-du-lieu-chuong-8-csdl-huong-doi-tuong
Slide co-so-du-lieu-chuong-8-csdl-huong-doi-tuongSlide co-so-du-lieu-chuong-8-csdl-huong-doi-tuong
Slide co-so-du-lieu-chuong-8-csdl-huong-doi-tuong
anhhuycan83
 
Tổng quan về cơ sở dữ liệu
Tổng quan về cơ sở dữ liệuTổng quan về cơ sở dữ liệu
Tổng quan về cơ sở dữ liệu
Tonhaco Bestco
 
OVERVIEW ABOUT MS SQL SERVER FOR BEGINNING
OVERVIEW ABOUT MS SQL SERVER FOR BEGINNINGOVERVIEW ABOUT MS SQL SERVER FOR BEGINNING
OVERVIEW ABOUT MS SQL SERVER FOR BEGINNING
TonMnh13
 
6.1 query optimization overview
6.1 query optimization overview6.1 query optimization overview
6.1 query optimization overviewTrần Thanh
 
Bài 5 : Lập trình với CSDL trong SQL
Bài 5 : Lập trình với CSDL trong SQLBài 5 : Lập trình với CSDL trong SQL
Bài 5 : Lập trình với CSDL trong SQLMasterCode.vn
 
Chuong6_NgonnguSQL.pdf
Chuong6_NgonnguSQL.pdfChuong6_NgonnguSQL.pdf
Chuong6_NgonnguSQL.pdf
HanaYuki19
 
Programming technique 1_2_7921
Programming technique 1_2_7921Programming technique 1_2_7921
Programming technique 1_2_7921
tienhien110293
 
Hop ngu mips
Hop ngu mipsHop ngu mips
Hop ngu mips
mster_dang
 
LP_TRINH_HP_NG_MIPS_Mc_dich.pdf
LP_TRINH_HP_NG_MIPS_Mc_dich.pdfLP_TRINH_HP_NG_MIPS_Mc_dich.pdf
LP_TRINH_HP_NG_MIPS_Mc_dich.pdf
Chuong
 
Bai1.pdf
Bai1.pdfBai1.pdf
Bai1.pdf
TrnXunQuyn
 
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
Hoa Le
 
Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Cu Sock
 
Dotnet
DotnetDotnet
Dotnet
daicathu
 

Similar to Db 03 (20)

Bài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL serverBài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL server
 
Db 00
Db 00Db 00
Db 00
 
Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP T...
Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP T...Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP T...
Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP T...
 
Bai giang thnc phan acccess
Bai giang thnc phan acccessBai giang thnc phan acccess
Bai giang thnc phan acccess
 
Tin học ứng dụng trong kinh doanh data4u
Tin học ứng dụng trong kinh doanh data4uTin học ứng dụng trong kinh doanh data4u
Tin học ứng dụng trong kinh doanh data4u
 
bai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptbai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.ppt
 
Slide co-so-du-lieu-chuong-8-csdl-huong-doi-tuong
Slide co-so-du-lieu-chuong-8-csdl-huong-doi-tuongSlide co-so-du-lieu-chuong-8-csdl-huong-doi-tuong
Slide co-so-du-lieu-chuong-8-csdl-huong-doi-tuong
 
LinQ
LinQLinQ
LinQ
 
Tổng quan về cơ sở dữ liệu
Tổng quan về cơ sở dữ liệuTổng quan về cơ sở dữ liệu
Tổng quan về cơ sở dữ liệu
 
OVERVIEW ABOUT MS SQL SERVER FOR BEGINNING
OVERVIEW ABOUT MS SQL SERVER FOR BEGINNINGOVERVIEW ABOUT MS SQL SERVER FOR BEGINNING
OVERVIEW ABOUT MS SQL SERVER FOR BEGINNING
 
6.1 query optimization overview
6.1 query optimization overview6.1 query optimization overview
6.1 query optimization overview
 
Bài 5 : Lập trình với CSDL trong SQL
Bài 5 : Lập trình với CSDL trong SQLBài 5 : Lập trình với CSDL trong SQL
Bài 5 : Lập trình với CSDL trong SQL
 
Chuong6_NgonnguSQL.pdf
Chuong6_NgonnguSQL.pdfChuong6_NgonnguSQL.pdf
Chuong6_NgonnguSQL.pdf
 
Programming technique 1_2_7921
Programming technique 1_2_7921Programming technique 1_2_7921
Programming technique 1_2_7921
 
Hop ngu mips
Hop ngu mipsHop ngu mips
Hop ngu mips
 
LP_TRINH_HP_NG_MIPS_Mc_dich.pdf
LP_TRINH_HP_NG_MIPS_Mc_dich.pdfLP_TRINH_HP_NG_MIPS_Mc_dich.pdf
LP_TRINH_HP_NG_MIPS_Mc_dich.pdf
 
Bai1.pdf
Bai1.pdfBai1.pdf
Bai1.pdf
 
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
 
Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191Bao thuc tap tot nghiep vo minh truong 10299191
Bao thuc tap tot nghiep vo minh truong 10299191
 
Dotnet
DotnetDotnet
Dotnet
 

Db 03

  • 1. Đại Học Sư Phạm Tp. Hồ Chí MinhĐại Học Sư Phạm Tp. Hồ Chí Minh Khoa ToánKhoa Toán –– Tin HọcTin Học QUẢN TRỊ CƠ SỞ DỮ LIỆUQUẢN TRỊ CƠ SỞ DỮ LIỆUQUẢN TRỊ CƠ SỞ DỮ LIỆUQUẢN TRỊ CƠ SỞ DỮ LIỆU ĐỊNH NGHĨA CẤU TRÚC CSDL Người trình bày: Trần Ngọc Bảo Email: baotn@hcmup.edu.vn
  • 2. Đặt vấn đề Xâ dXâ d Yêu cầu bài toán Xây dựngXây dựng mô hìnhmô hình CDMCDM Convert sangConvert sang mô hình PDMmô hình PDM Phát sinh ra tậpPhát sinh ra tập Mô hình CDM tin Scripttin Script Run script trongRun script trong SQL S đểSQL S để Tập tin script SQL Server đểSQL Server để tạo CSDLtạo CSDLMô hình PDM CSDL (LT) Cài đặt chươngCài đặt chươngCSDL Tran Ngoc BaoTran Ngoc Bao DaiDai hoc Su Pham TP.HCMhoc Su Pham TP.HCMTRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (22))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (22))2 ặ gặ g trình (Setup.exe)trình (Setup.exe)(KH)
  • 3. UU DLDL Các thành phần cơ bản trong tập tin scriptSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD (1) Câu lệnh tạo Database (1) Câu lệnh tạo Database NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR (2) Câu lệnh tạo, sửa, xóa Table (2) Câu lệnh tạo, sửa, xóa Table (6) Các câu lệnh khác (6) Các câu lệnh khác HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA Tập tin Script Tập tin Script óa abóa ab NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH (3) Câu lệnh tạo primary (3) Câu lệnh tạo primary (5) Câu lệnh cập nhật dữ liệu (5) Câu lệnh cập nhật dữ liệu BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ primary key primary key (4) Câu lệnh tạo Foreign (4) Câu lệnh tạo Foreign dữ liệu (Insert…) dữ liệu (Insert…) TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (33))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (33)) ạ g key ạ g key
  • 4. UU DLDL Đặt vấn đề • Phân loại tập tin script SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Phân loại tập tin script Tập tin tạo CSDL và cấu trúc CSDL Tập tin cập nhật dữ liệu (thêm, xóa, sửa) NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR Tập tin cập nhật dữ liệu (thêm, xóa, sửa) • Tập tin tạo cấu trúc cơ sở dữ liệu Câu lệnh tạo , xóa, sửa Table HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA Câu lệnh tạo , xóa, sửa Table Câu lệnh tạo khóa chính Câu lệnh tạo khóa ngoại NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH ệ ạ g ạ Câu lệnh tạo kiểu dữ liệu (user-defined data type) Câu lệnh tạo hàm (user-defined function) BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Câu lệnh tạo View Câu lệnh tạo Stored procedure TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (44))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (44)) ….
  • 5. UU DLDL Đặt vấn đề • Phân loại tập tin script SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Phân loại tập tin script Tập tin tạo CSDL và cấu trúc CSDL Tập tin cập nhật dữ liệu (thêm, xóa, sửa) NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR Tập tin cập nhật dữ liệu (thêm, xóa, sửa) • Tập tin script cập nhật dữ liệu Câu lệnh thêm dữ liệu (INSERT) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA Câu lệnh thêm dữ liệu (INSERT) Câu lệnh xóa dữ liệu (DELETE) Câu lệnh sửa dữ liệu (UPDATE) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH ệ ệ ( ) BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (55))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (55))
  • 6. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học ĐỊNH NGHĨA CẤUĐỊNH NGHĨA CẤU TRÚC & THAO TÁCTRÚC & THAO TÁCTRÚC & THAO TÁCTRÚC & THAO TÁC CSDLCSDL • Các câu lệnh tạo cấu trúc CSDL • Các câu lệnh cập nhật dữ liệu• Các câu lệnh cập nhật dữ liệu
  • 7. UU DLDL MỤC TIÊUSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Biết được cú pháp các câu lệnh tạo CSDL. Biết á h ú há á â lệ h ậ hật NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR • Biết cách cú pháp các câu lệnh cập nhật dữ liệu. HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA • Biết cách tạo CSDL từ tập tin script NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH • Biết sử dụng Power Designer phát sinh script. BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ • Biết sử dụng SQL Server để phát sinh script TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (77))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (77))77 script.
  • 8. UU DLDL Định nghĩa dữ liệu SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Là ngôn ngữ mô tả: – Lược đồ cho mỗi quan hệ Miền giá trị tương ứng của từng thuộc tính NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR – Miền giá trị tương ứng của từng thuộc tính – Ràng buộc toàn vẹn – Chỉ mục trên mỗi quan hệ HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA • Gồm có: – CREATE TABLE (tạo bảng) – DROP TABLE (xóa bảng) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH DROP TABLE (xóa bảng) – ALTER TABLE (sửa bảng) – CREATE DATABASE (tạo CSDL) BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ – … TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (88))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (88))
  • 9. UU DLDL Kiểu dữ liệu Số ( i ) SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Số (numeric) – INTEGER SMALLINT NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR – SMALLINT – NUMERIC, NUMERIC(p), NUMERIC(p,s) – DECIMAL DECIMAL(p) DECIMAL(p s) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA DECIMAL, DECIMAL(p), DECIMAL(p,s) – REAL – DOUBLE PRECISION NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH – FLOAT, FLOAT(p) BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (99))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (99)) 99
  • 10. UU DLDL Kiểu dữ liệu ỗ ỗ SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Chuỗi - không hỗ trợ Unicode – char(n): chiều dài chuỗi cố định NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR – varchar(n): chiều dài chuỗi không cố định, tối đa 8000 ký tự HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA – varchar(max): chiều dài chuỗi không cố định, tối đa 2^31 -1 ký tự. ề ỗ ố ố NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH – Text: chiều dài chuỗi không cố định, tối đa 2^31 -1 ký tự BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Ghi chú: - n ≤ 8000: tối đa 8000 ký tự (byte) TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1010))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1010))
  • 11. UU DLDL Kiểu dữ liệu ỗ ỗ SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Chuỗi - có hỗ trợ Unicode – nchar(n): chiều dài chuỗi cố định NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR – nvarchar(n): chiều dài chuỗi không cố định, tối đa 4000 ký tự HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA – nvarchar(max): chiều dài chuỗi không cố định, tối đa 2^30 -1 ký tự. ề ỗ ố ố NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH – nText: chiều dài chuỗi không cố định, tối đa 2^30 -1 ký tự. BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Ghi chú: - Mỗi ký tự được lưu thành 2 byte - n ≤ 4000: tối đa 4000 ký tự (8000 byte) TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1111))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1111)) - n ≤ 4000: tối đa 4000 ký tự (8000 byte)
  • 12. UU DLDL Kiểu dữ liệuSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Ngày/giờ – Datetime/ smalldatetime NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR Data Type Range Storage HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA Datetime January 1, 1753, through December 31, 9999 8 byte smalldatetime January 1 1900 through June 6 2079 8 byte NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH smalldatetime January 1, 1900, through June 6, 2079 8 byte ầ BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Ghi chú: 4 byte đầu lưu trữ thông tin ngày, 4 byte sau lưu trữ thông tin giờ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1212))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1212))
  • 13. UU DLDL Lệnh tạo bảng • Để định nghĩa một bảng SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Để định nghĩa một bảng – Tên bảng – Các thuộc tính NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR • Tên thuộc tính • Kiểu dữ liệu • Các RBTV trên thuộc tính HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA • Cú pháp CREATE TABLE < Tên quan hệ> ( Th ộ tí h Kiể [ Kí h th ớ ] [NOT NULL] NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH <Thuộc tính> <Kiểu> [<Kích thước>] [NOT NULL],…. PRIMARY KEY (<Khoá chính>) [UNIQUE (<Khoá chỉ định>),…] [FOREIGN KEY (<Khoá ngoại>) REFERENCES <bảng> ] BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ [FOREIGN KEY (<Khoá ngoại>) REFERENCES <bảng>,…] [CHECK < Điều kiện ràng buộc>, …] [CONSTRAINT <Tên ràng buộc> <kiểu ràng buộc>] ) TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1313))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1313))1313
  • 14. Lệnh tạo bảng Ý NGHĨA Lệnh tạo một bảng rỗng có cấu trúc gồm các thuộc tính với các kiể dữ liệ t ứ ù ới ột ố th ốkiểu dữ liệu tương ứng, cùng với một số tham số. -Các kiểu dữ liệu có thể sử dụng như: char(n), smallint, integer, decimal(p,s), real, datetime, binary, ...decimal(p,s), real, datetime, binary, ... - not null: thuộc tính không lấy giá trị rỗng. Lưu ý thuộc tính khoá mặc nhiên bị ràng buộc not null. - primary key (<khoá chính>): khai báo khoá chính của bảng. - unique (<khoá>): khai báo các khoá chỉ định khác (nếu có) f i k ( kh á i ) kh i bá kh á i ủ bả- foreign key (<khoá ngoại>) : khai báo khoá ngoại của bảng - check <điều kiện ràng buộc>: mô tả các ràng buộc miền giá trị Tran Ngoc BaoTran Ngoc Bao DaiDai hoc Su Pham TP.HCMhoc Su Pham TP.HCMTRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1414))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1414))1414
  • 15. UU DLDL Ví dụ - Tạo bảng CREATE TABLE SINHVIEN ( SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD CREATE TABLE SINHVIEN ( MASV VARCHAR(10), TENSV VARCHAR(30), NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR NGAYSINH DATETIME, DIACHI VARCHAR(50), HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NAMTS INT ) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1515))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1515))1515
  • 16. UU DLDL Ví dụ - Tạo bảng CC SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD ChọnChọn ExecuteExecute NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA ChọnChọn New QueryNew Query NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH NhậpNhập câu lệnh tạo Tablecâu lệnh tạo Table BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1616))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1616))
  • 17. UU DLDL Ví dụ - Tạo bảng SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TableTable SINHVIENSINHVIEN được tạo từđược tạo từ lệnhlệnh CREATE TABLECREATE TABLE TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1717))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1717))
  • 18. UU DLDL Ví dụ - Tạo bảng có khóa chính CREATE TABLE SINHVIEN ( SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD CREATE TABLE SINHVIEN ( MASV VARCHAR(10), TENSV VARCHAR(30), NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR NGAYSINH DATETIME, DIACHI VARCHAR(50), HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NAMTS INT, primary key (MaSV) ) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH ) BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1818))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1818))1818
  • 19. UU DLDL Ví dụ - Tạo bảng có khóa chính SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TableTable SINHVIENSINHVIEN được tạo từđược tạo từ lệnhlệnh CREATE TABLECREATE TABLE cócó KHÓA CHÍNHKHÓA CHÍNH TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1919))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1919))1919
  • 20. UU DLDL Lệnh sửa bảng SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Được dùng để – Thay đổi cấu trúc bảng NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR – Thay đổi RBTV Thê ột ALTER TABLE <Tên bảng> ADD HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA • Thêm cột ALTER TABLE Tên_bảng ADD <Tên_cột> <Kiểu_dữ_liệu> [<RBTV>] NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH • Xóa cột ALTER TABLE <Tên_bảng> DROP COLUMN <Tên_cột> BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ • Mở rộng cột ALTER TABLE <Tên_bảng> ALTER COLUMN <Tên_cột> <Kiểu_dữ_liệu_mới> TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2020))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2020))2020
  • 21. UU DLDL Lệnh sửa bảng (tt) SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Thêm RBTV ALTER TABLE <Tên_bảng> ADD CONSTRAINT <Ten RBTV> <RBTV> NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR CONSTRAINT <Ten_RBTV> <RBTV>, CONSTRAINT <Ten_RBTV> <RBTV>, … HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA • Xóa RBTV NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH ALTER TABLE <Tên_bảng> DROP <Tên_RBTV> BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2121))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2121))2121
  • 22. UU DLDL Ví dụ - Thay đổi cấu trúc bảng SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD ALTER TABLE SINHVIEN ADD EMAIL VARCHAR(20) THÊM CỘT NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR ALTER TABLE SINHVIEN ADD EMAIL VARCHAR(20) XOÁ CỘT HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA ALTER TABLE SINHVIEN DROP COLUMN EMAIL THAY ĐỔI ĐỘ RỘNG CỘT NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH ALTER TABLE SINHVIEN ALTER COLUMN DIACHI VARCHAR(100) Ộ Ộ Ộ BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ DIACHI VARCHAR(100) TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2222))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2222))
  • 23. UU DLDL Ví dụ - Tạo bảng có thuộc tính Unique CREATE TABLE KHOA( SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD CREATE TABLE KHOA( MAKHOA VARCHAR(4) not null, TENKHOA VARCHAR(100) not null NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR TENKHOA VARCHAR(100) not null, primary key (MAKHOA), unique (TENKHOA) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA q ( ) ) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2323))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2323))2323
  • 24. UU DLDL Ví dụ - Tạo bảng có thuộc tính Unique SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA ThuộcThuộc tínhtính TENKHOATENKHOA củacủa TTableable SINHVIENSINHVIEN Là duy nhấtLà duy nhất NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Th ộTh ộ tí htí h TENKHOATENKHOA ủủ BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ ThuộcThuộc tínhtính TENKHOATENKHOA củacủa TTableable SINHVIENSINHVIEN Là duy nhấtLà duy nhất TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2424))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2424))2424
  • 25. UU DLDL Ví dụ - Tạo quan hệ SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TableTable SINHVIENSINHVIEN chưa được tạochưa được tạo Quan hệ với TableQuan hệ với Table KHOAKHOA TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2525))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2525))
  • 26. UU DLDL Ví dụ - Thay đổi cấu trúc bảng SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA SAU KHI TẠO QUAN HỆ PHONGBAN NHANVIEN BỔ SUNG THÊM NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH ALTER TABLE SINHVIEN ADD MAKHOA VARCHAR(4) SAU KHI TẠO QUAN HỆ PHONGBAN, NHANVIEN - BỔ SUNG THÊM: BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ ALTER TABLE SINHVIEN ADD Foreign key (MAKHOA) references KHOA(MAKHOA) TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2626))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2626))
  • 27. UU DLDL Ví dụ - Tạo quan hệ SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH T blT bl SINHVIENSINHVIEN đã đ tđã đ t BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TableTable SINHVIENSINHVIEN đã được tạođã được tạo quan hệ với Tablequan hệ với Table KHOAKHOA TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2727))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2727))
  • 28. UU DLDL Ví dụ - Tạo quan hệ SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH TableTable SINHVIENSINHVIEN đã được tạođã được tạo hệ ới T blhệ ới T bl KHOAKHOA BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ quan hệ với Tablequan hệ với Table KHOAKHOA TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2828))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2828))
  • 29. UU DLDL Lệnh xóa bảng SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Được dùng để xóa cấu trúc bảng – Tất cả dữ liệu của bảng cũng bị xóa NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR • Cú pháp DROP TABLE <Tên_bảng> HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA • Ví dụ DROP TABLE SINHVIEN NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH DROP TABLE SINHVIEN DROP TABLE KHOA BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ CHÚ Ý ĐẾN THỨ TỰ KHI XOÁ LIÊN QUAN ĐẾN RELATIONSHIP TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2929))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2929))2929
  • 30. UU DLDL Lệnh xóa bảng (tt) SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA ALTER TABLE SINHVIEN DROP FK__SINHVIEN__MAKHOA__....(1) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH DROP TABLE SINHVIEN(2) BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ DROP TABLE KHOA(3) TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3030))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3030))3030
  • 31. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học Ĩ ẤĨ ẤĐỊNH NGHĨA CẤUĐỊNH NGHĨA CẤU TRÚC & THAO TÁCTRÚC & THAO TÁCTRÚC & THAO TÁCTRÚC & THAO TÁC CSDLCSDL • Các câu lệnh tạo cấu trúc CSDL • Các câu lệnh cập nhật dữ liệu• Các câu lệnh cập nhật dữ liệu
  • 32. UU DLDL Lệnh INSERT ù ể ê ề ò à SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Dùng để thêm 1 hay nhiều dòng vào bảng NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR • Để thêm dữ liệu HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA Để thêm dữ liệu – Tên quan hệ – Danh sách các thuộc tính cần thêm dữ NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Danh sách các thuộc tính cần thêm dữ liệu – Danh sách các giá trị tương ứng BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Danh sách các giá trị tương ứng TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3232))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3232))3232
  • 33. UU DLDL Lệnh INSERT (tt) Cú há (thê 1 dò ) SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Cú pháp (thêm 1 dòng) INSERT INTO <tên bảng>(<danh sách các thuộc tính>) NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR INSERT INTO <tên bảng>(<danh sách các thuộc tính>) VALUES (<danh sách các giá trị>) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA INSERT INTO SINHVIEN(MASV, TENSV, DIACHI, NAMTS) VALUES (‘0800123, ‘Nguyen Van A’, ‘280 An Duong Vuong’, 2009) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH ( , g y , g g, ) INSERT INTO SINHVIEN(MASV, TENSV, NAMTS, DIACHI) VALUES (‘0800124’, ‘Tran Van A’, 2009, NULL) BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ INSERT INTO SINHVIEN VALUES (‘0800125’, ‘Nguyen Van A’, ’12/02/1980’, NULL, 2009) TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3333))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3333))
  • 34. UU DLDL Lệnh INSERT (tt) Nhậ é SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Nhận xét – Thứ tự các giá trị phải trùng với thứ tự các cột NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR – Có thể thêm giá trị NULL ở những thuộc tính không là khóa chính và NOT NULL HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA g – Câu lệnh INSERT sẽ gặp lỗi nếu vi phạm NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH • Khóa chính • Tham chiếu • NOT NULL - các thuộc tính có ràng buộc NOT NULL BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ NOT NULL các thuộc tính có ràng buộc NOT NULL bắt buộc phải có giá trị TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3434))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3434))3434
  • 35. UU DLDL Lệnh INSERT (tt)SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Cú pháp (thêm nhiều dòng) NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR INSERT INTO <tên bảng>(<danh sách các thuộc tính>) <câu truy vấn con> HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA câu t uy ấ co NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3535))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3535))3535
  • 36. UU DLDL Lệnh DELETE SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Dùng để xóa các dòng của bảng NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR • Cú pháp ê ả HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA DELETE FROM <tên bảng> [WHERE <điều kiện>] NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3636))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3636))3636
  • 37. UU DLDL Ví dụ SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD DELETE FROM SINHVIEN –Xoá tất cả sinh viên có NAMTS = 2009 trong Table SINHVIEN NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR DELETE FROM SINHVIEN WHERE NAMTS= 2009 X á i h iê ó ã ố ‘0800123’ t T bl SINHVIEN HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA DELETE FROM SINHVIEN WHERE MASV ‘0800123’ –Xoá sinh viên có mã số = ‘0800123’ trong Table SINHVIEN NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH WHERE MASV=‘0800123’ DELETE FROM SINHVIEN –Xoá tất cả sinh viên có trong Table SINHVIEN BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ DELETE FROM SINHVIEN TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3737))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3737))3737
  • 38. UU DLDL Lệnh DELETE (tt) Nhậ ét SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Nhận xét – Số lượng số dòng bị xóa phụ thuộc vào điều kiện ở mệnh đề WHERE NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR – Nếu không chỉ định điều kiện ở mệnh đề WHERE, tất cả các dòng trong bảng sẽ bị xóa HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA g g g ị – Lệnh DELETE có thể gây ra vi phạm RB tham chiếu • Không cho xóa NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH • Không cho xóa • Xóa luôn những dòng có giá trị đang tham chiếu đến – CASCADE • Đặt NULL cho những giá trị tham chiếu BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Đặt NULL cho những giá trị tham chiếu TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3838))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3838))3838
  • 39. UU DLDL Lệnh UPDATE ù ể ổ á ủ ộ SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Dùng để thay đổi giá trị của thuộc tính cho các dòng của bảng NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR • Cú pháp HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA Cú pháp UPDATE <tên bảng> SET <tên thuộc tính>=<giá trị mới> NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH SET <tên thuộc tính>=<giá trị mới>, <tên thuộc tính>=<giá trị mới>, BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ … [WHERE <điều kiện>] TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3939))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3939)) 33
  • 40. UU DLDL Ví dụ SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR UPDATE SINHVIEN SET DIACHI=’280 AN DUONG VUONG’ HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA WHERE MASV=‘0800125 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH UPDATE SINHVIEN SET NAMTS=NAMTS+1 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ SET NAMTS NAMTS+1 TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4040))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4040))4040
  • 41. UU DLDL Lệnh UPDATE (tt) SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Nhận xét – Những dòng thỏa điều kiện tại mệnh đề WHERE sẽ được cập nhật giá t ị mới NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR sẽ được cập nhật giá trị mới – Nếu không chỉ định điều kiện ở mệnh đề HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA Nếu không chỉ định điều kiện ở mệnh đề WHERE, tất cả các dòng trong bảng sẽ bị cập nhật NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4141))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4141))
  • 42. UU DLDL Lệnh tạo/xóa Database • Cú pháp tạo CSDL SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Cú pháp tạo CSDL CREATE DATABASE < Tên CSDL> NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR • Cú pháp xóa CSDL DROP DATABASE < Tên CSDL> HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4242))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4242))4242
  • 43. UU DLDL Thuộc tính khóa tăng tự động • Cú pháp tạo table với thuộc tính (khóa chính) SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Cú pháp tạo table với thuộc tính (khóa chính) tăng tự động CREATE TABLE [db ] [Tê T bl ]( NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR CREATE TABLE [dbo].[Tên Table]( [Tên thuộc tính] [kiểu dữ liệu số] IDENTITY(1,1) NOT NULL, …… ) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA • Ví dụ ) CREATE TABLE [dbo].[HOADON]( NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH CREATE TABLE [dbo].[HOADON]( [MaHD] [numeric](18, 0) IDENTITY(1,1) NOT NULL, [SoHD] [varchar](10) NULL, … CONSTRAINT [PK HD] PRIMARY KEY CLUSTERED BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ CONSTRAINT [PK_HD] PRIMARY KEY CLUSTERED ( [MaHD] ASC )WITH (IGNORE DUP KEY = OFF) ON [PRIMARY] TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4343))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4343)) ) ( _ _ ) [ ] ) ON [PRIMARY]
  • 44. UU DLDL Kiểu dữ liệu User-defined (Data Type) • Cú pháp tạo kiểu dữ liệu do người dùng định SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Cú pháp tạo kiểu dữ liệu do người dùng định nghĩa CREATE TYPE [dbo].[Tên kiểu DL] FROM [Kiểu dữ liệu hệ thống] NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR • Ví dụ [ ] [ ] [ ệ ệ g] [NOT NULL] HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA CREATE TYPE [dbo].[TNBNAME] FROM [varchar](100) NOT NULL NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4444))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4444))4444
  • 45. UU DLDL SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4545))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4545)) 45