Advertisement
csdl bai-thuchanh_01
csdl bai-thuchanh_01
csdl bai-thuchanh_01
csdl bai-thuchanh_01
Advertisement
csdl bai-thuchanh_01
Upcoming SlideShare
csdl bai-thuchanh_02csdl bai-thuchanh_02
Loading in ... 3
1 of 5
Advertisement

More Related Content

Advertisement

Recently uploaded(20)

Advertisement

csdl bai-thuchanh_01

  1. Cơ sở dữ liệu Bài thực hành số 1 1 CƠ SỞ DỮ LIỆU BÀI THỰC HÀNH SỐ 1 1 Nội dung thực hành - Giới thiệu các công cụ trong Microsoft SQL Server - Cách sử dụng Help - Giới thiệu các kiểu dữ liệu - Cách tạo database, table, primary key, foreign key sử dụng công cụ hỗ trợ sẵn trong SQL server management studio. - Các lệnh tạo database, table, primary key, foreign key. - Giới thiệu các lệnh sp_help, sp_tables, sp_columns, sp_pkeys, sp_fkeys, sp_helpconstraint, sp_helpsql … - Các lệnh drop, alter 2 Hướng dẫn 2.1 Các kiểu dữ liệu Các kiểu dữ liệu trong SQL gồm có các loại sau: + Exact Numerics + Integers bigint: là số nguyên (8 bytes) có giá trị từ -2^63 đến 2^63 – 1. int: là số nguyên (4 bytes) có giá trị từ -2^31 đến 2^31 – 1. smallint: là số nguyên (2 bytes) có giá trị từ -2^15 đến 2^15 – 1. tinyint: là số nguyên (1 bytes) có giá trị từ 0 đến 255. bit: là số nguyên chỉ nhận giá trị 0 hoặc 1. + decimal and numeric decimal: là số nguyên từ -10^38 + 1 đến 10^38 – 1. numeric: giống như decimal + money và smallmoney money: có giá trị từ -2^63 đến 2^63 – 1, với độ chính xác đến 2 chữ số sau dấu thập phân.
  2. Cơ sở dữ liệu Bài thực hành số 1 2 smallmoney: có giá trị từ -241,748.3648 đến 241,748.3647, với độ chính xác đến 2 chữ số sau dấu thập phân. + Approximate Numerics float: số thực có giá trị từ -1.79E + 308 đến 1.79E + 308. real: số thực có giá trị từ -3.40E + 38 đến 1.79E + 38. + datetime và smalldatetime datetime: kiểu ngày giờ có giá trị từ 1-1-1753 đến 31-12-9999, với độ chính xác 3/100 giây hay 3.33 miliseconds. smalldatetime: kiểu ngày giờ có giá trị từ 1-1-1900 đến 6-6-2079, với độ chính xác là 1 phút. + Character Strings char: kiểu dữ liệu có độ dài cố định (không theo Unicode) có độ dài tối đa là 8000 ký tự. varchar: kiểu dữ liệu có độ dài không cố định (không theo Unicode) có độ dài tối đa là 8000 ký tự. text: kiểu dữ liệu có độ dài không cố định (không theo Unicode) có độ dài tối đa 2^31 – 1 ký tự. + Unicode Character Strings nchar: kiểu dữ liệu có độ dài cố định (Unicode) có độ dài tối đa là 4000 ký tự. nvarchar: kiểu dữ liệu có độ dài không cố định (Unicode) có độ dài tối đa là 4000 ký tự. ntext: kiểu dữ liệu có độ dài không cố định (Unicode) có độ dài tối đa 2^30 – 1 ký tự. + Binary Strings binary: kiểu dữ liệu số có độ dài cố định (tối đa 8000 bytes). varbinary: kiểu dữ liệu số có độ dài thay đổi (tối đa 8000 bytes). image: kiểu dữ liệu số có độ dài thay đổi (tối đa 2^31 – 1 bytes). + Other data types cursor: kiểu dữ liệu con trỏ.
  3. Cơ sở dữ liệu Bài thực hành số 1 3 sql_variant: kiểu dữ liệu có thể nhận giá trị của nhiều kiểu dữ liệu khác nhau trong SQL Server ngoại trừ các kiểu text, ntext, timestamp, và sql_variant. table: kiểu dữ liệu đặc biệt dùng để lưu trữ các tập dữ liệu cho lần xử lý sau. timestamp: kiểu số được cập nhật mỗi khi một hàng dữ liệu được cập nhật. 2.2 Các câu lệnh SQL tạo cấu trúc cơ sở dữ liệu 2.2.1 Tạo/xóa database + Tạo database: CREATE DATABASE TEN_DB Ví dụ: CREATE DATABASE QUANLYHOCSINH + Xóa database: DROP DATABASE TEN_DB Ví dụ: DROP DATABASE QUANLYHOCSINH 2.2.2 Tạo/xóa bảng: + Để tạo bảng ta sử dụng lệnh CREATE TABLE như sau: CREATE TABLE TEN_BANG ( tên_thuộc_tính_1 kiểu_dữ_liệu NULL hoặc NOT NULL, tên_thuộc_tính_2 kiểu_dữ_liệu NULL hoặc NOT NULL, … tên_thuộc_tính_n kiểu_dữ_liệu NULL hoặc NOT NULL, PRIMARY KEY(tên_thuộc_tính_i, …, tên_thuộc_tính_j) ) Lưu ý: Nếu không xác lập NULL/NOT NULL thì hiểu ngầm là NULL. Ví dụ: CREATE TABLE KHOA ( MAKHOA NCHAR(4), TENKHOA NVARCHAR(30), NAMTHANHLAP INT, PRIMARY KEY(MAKHOA) -- tạo khóa trên thuộc tính MAKHOA cho bảng KHOA ) + Để xóa bảng, sử dụng lệnh DROP TABLE: DROP TABLE TEN_BANG Ví dụ: DROP TABLE KHOA
  4. Cơ sở dữ liệu Bài thực hành số 1 4 2.2.3 Tạo/Xóa khóa ngoại + Tạo ràng buộc khóa ngoại: Alter table tên_bảng_chứa_khóa_ngoại add constraint tên_khóa_ngoại foreign key (tên_thuộc_tính1, tên_thuộc_tính_2, …) references tên_bảng_chứa_khóa_chính (tên_thuộc_tính1, tên_thuộc_tính_2, …) Ví dụ: KHOA (MAKHOA, TENKHOA, NAMTHANHLAP) SVIEN (TEN, MASV, NAM, MAKH) Alter table SVIEN add constraint FK_SVIEN_MAKH_KHOA foreign key (MAKH) references KHOA(MAKHOA) + Hủy ràng buộc khóa ngoại: Alter table tên_bảng_chứa_khóa_ngoại drop constraint tên_khóa_ngoại Ví dụ: Alter table SVIEN drop constraint FK_SVIEN_MAKH_KHOA Lưu ý: - Tên khóa ngoại phải duy nhất cho một CSDL (không được phép đặt 2 khóa ngọai trùng tên trong một CSDL). Ngoài ra để thuận tiện trong việc quản lý, nên đặt tên khóa ngoại theo một quy tắc thống nhất cho toàn CSDL. Một cách đặt tên đề nghị: FK_tênbảngchứakhóangoại_cácthuộctínhkhóangoại_tênbảngchứakhóachính. - Ngoài ra để dễ theo dõi (nếu có thể được) khi thiết kế một CSDL nên đặt tên thuộc tính khóa chính và thuộc tính khóa ngoại giống nhau. VD: KHOA (MAKHOA, TENKHOA, NAMTHANHLAP) SVIEN (TEN, MASV, NAM, MAKHOA) 2.3 Thay đổi cấu trúc bảng • Tạo bảng: Create Table (xem lại tuần 1) • Xóa bảng: Drop Table tên_bảng • Xem cấu trúc bảng: sp_help tên_bảng • Sửa đổi bảng: o Thêm một thuộc tính: Alter table tên_bảng Add tên_thuộc_tính kiểu_dữ_liệu VD: ALTER TABLE DOCGIA ADD LOAIDOCGIA VARCHAR(20) NULL
  5. Cơ sở dữ liệu Bài thực hành số 1 5 o Bỏ một thuộc tính: Alter table tên_bảng Drop Column tên_thuộc_tính VD: ALTER TABLE DOCGIA DROP COLUMN LOAIDOCGIA o Sửa đổi thuộc tính Alter table tên_bảng alter column tên_thuộc_tính kiểu_dữ_liệu_mới VD: ALTER TABLE DOCGIA ALTER COLUMN LOAIDOCGIA NVARCHAR(10)
Advertisement