Cài đặt cơ sở dữ liệu SQL Server (Bài 1)

Cài đặt cơ sở dữ liệu sql server bao gồm các thao tác như tạo cơ sở dữ liệu, tạo bảng, thêm dữ liệu, thay đổi dữ liệu, xoá dữ liệu và xem dữ liệu. Ngoài ra, chúng ta còn biết cách thiết lập ràng buộc dữ liệu hay thay đổi kích thước cơ sở dữ liệu. Trong bài học cài đặt cơ sở dữ liệu sql server, bạn sẽ được tìm hiểu và thực hành những thao tác đã liệt kê ở trên.

Cài đặt cơ sở dữ liệu sql server – Tạo cơ sở dữ liệu

Trong SQL Server, chúng ta có 2 cách để thực hiện thao tác này. Một là chúng ta sử dụng giao diện, hai là chúng ta sử dụng câu lệnh (script)

Cách 1: Tạo bằng giao diện

Chuột phải Databases -> Chọn New Database…

cai dat co so du lieu sql server 1

Nhập tên cơ sdliệu tại Database name -> Chọn OK để hoàn tất

cai dat co so du lieu sql server 2

Sau khi tạo thành công cơ sở dữ liệu tên QuanLySinhVien, chúng ta nhận được kết quả sau

cai dat co so du lieu sql server 3

Cơ sở dữ liệu sau khi tạo thành công gồm 2 tập tin (file): QuanLySinhVien.mdf và QuanLySinhVien_log.ldf.

QuanLySinhVien.mdf: tập tin dùng để lưu trữ dữ liệu của người dùng. Bất cứ khi nào người dùng thực hiện các thao tác thêm, thay đổi, hay xoá thì đều tác động đến tập tin này.

QuanLySinhVien_log.ldf: tập tin nhật ký. SQL Server sử dụng tập tin này để ghi nhận những thao tác của người dùng.

Hai tập tin này đều có các đặc điểm sau

Logical Name Tên luận lý. SQL Server sử dụng tên này để nhận biết tập tin
Iniital Size Kích thước ban đầu
Auto Growth Kích thước được tăng thêm khi cần thiết
Max Size Kích thước tối đa
Path Đường dẫn thư mục lưu trữ tập tin
File Name Tên tập tin được lưu trữ trên thiết bị vật lý của máy chủ

Cách 2: Tạo bằng câu lệnh

Khi tạo cơ sở dữ liệu, chúng ta có thể chỉ định tên các thiết lập khác là mặc định. Sau đây là cú pháp

create database databaseName

Ví dụ tạo cơ sở dữ liệu tên QuanLyHopDong

create database QuanLyHopDong

Một số trường hợp, quản trị viên muốn thiết lập về kích thước ban đầu (inital size), kích thước tăng thêm (growth), kích thước tối đa,…khi đó chúng ta sẽ sử dụng cú pháp sau

create database databaseName 
on primary --Tạo tập tin data
( 
  size = kích_thước_ban_đầu
  ,filegrowth = kích_thước_tăng
  ,maxsize = kích_thước_tối_đa
  ,filename = 'đường_dẫn\tên_csdl.mdf'
  ,name = tên_csdl
)
log on --Tạo tập tin log
(
  size = kích_thước_ban_đầu
  ,filegrowth = kích_thước_tăng
  ,maxsize = kích_thước_tối_đa
  ,filename = 'đường_dẫn\tên_csdl.ldf'
  ,name = tên_csdl_log
)

Sau đây là ví dụ tạo cơ sở dữ liệu QuanLyNhanSu với yêu cầu về tập tin dữ liệu (data) và tập tin nhật ký (log)

Đối với tập tin dữ liệu

  • Size = 100MB
  • FileGrowth = 10MB
  • MaxSize = 2GB
  • Path là  C:\SQL
  • FileName là QuanLyNhanSu.mdf
  • Logical name là QuanLyNhanSu

Đối với tập tin nhật ký

  • Size = 200MB
  • FileGrowth = 20MB
  • MaxSize = Không giới hạn
  • Path: C:\SQL
  • FileName là QuanLyNhanSu.ldf
  • Logical name là QuanLyNhanSu_log
create database QuanLyNhanSu 
on primary --Tập tin data
( 
  size = 100MB
  ,filegrowth = 10MB
  ,maxsize = 2GB
  ,filename = 'c:\sql\QuanLyNhanSu.mdf'
  ,name = QuanLyNhanSu
)
log on --Tập tin log
(
  size = 200MB
  ,filegrowth = 20MB
  ,maxsize = unlimited
  ,filename = 'c:\sql\QuanLyNhanSu.ldf'
  ,name = QuanLyNhanSu_log
)

Cài đặt cơ sở dữ liệu sql server – Tạo bảng

Bảng dữ liệu dùng để chứa dữ liệu. Khi cài đặt trên SQL Server, chúng ta cần phải biết về tên bảng, danh sách cột cùng kiểu dữ liệu, khoá chính và khoá ngoại (nếu có).

Giả sử chúng ta muốn tạo 2 bảng Lop và SinhVien của cơ sở dữ liệu QuanLyDaoTao với thông tin chi tiết như sau. Luu ý tham khảo kiểu dữ liệu của SQL Server

Bảng Lop

Tên cột Kiểu dữ liệu Ghi chú
MaLop varchar(20) Khoá chính
TenLop nvarchar(50)

Bảng SinhVien

Tên cột Kiểu dữ liệu Ghi chú
MaSV varchar(15) Khoá chính
TenSV nvarchar(50)
GioiTinh nvarchar(3)
NgaySinh date
MaLop varchar(20) Khoá ngoại

Câu lệnh tạo bảng có khoá chính, không có khoá ngoại

create table tên_bảng (
  Tên_cột_thứ_1 Kiểu_dữ_liệu
  ,Tên_cột_thứ_2 Kiểu_dữ_liệu
  ,...
  ,primary key (danh_sách_khoá_chính)
)

Câu lệnh tạo bảng có khoá chính và khoá ngoại

create table tên_bảng (
  Tên_cột_thứ_1 kiểu_dữ_liệu
  ,Tên_cột_thứ_2 kiểu_dữ_liệu
  ,...
  ,primary key(danh_sách_khoá_chính)
  ,foreign key(khoá_ngoại) references Bảng_tham_chiếu
)

Sau đây là câu lệnh tạo bảng Lop và SinhVien

create table Lop (
  MaLop varchar(20)
 ,TenLop nvarchar(50)
 ,primary key(MaLop)
)
create table SinhVien (
  MaSv varchar(15)
 ,TenSv nvarchar(50)
 ,GioiTinh nvarchar(5)
 ,NgaySinh date
 ,MaLop varchar(20)
 ,primary key (MaSv)
 ,foreign key (MaLop) references Lop
)

Cài đặt cơ sở dữ liệu sql server – Thêm dữ liệu

Là thao tác nhập dữ liệu vào cho các bảng. Chúng ta thực hiện việc này bằng nhiều cách, một trong những cách đó là bằng câu lệnh.

Câu lệnh thêm dữ liệu trong trường hợp dữ liệu thêm vào khớp với số lượng cột

insert into tên_bảng values(Giá_trị_1,Giá_trị_2,…)

Ví dụ thêm dữ liệu cho bảng Lop. Đối với dữ liệu là chuỗi và ngay tháng năm, chúng ta phải đặt chúng trong ‘ ‘

insert into Lop values('26CCHT01',N'Quản trị mạng khoá 26')

Câu lệnh thêm dữ liệu trong trường hợp một số cột bị bỏ qua

insert into tên_bảng(cột_1,cột_2,cột_3,…) values(Giá_trị_1,Giá_trị_2,Giá_trị_3,…)

Ví dụ thêm dữ liệu cho bảng Lop với tên lớp bị bỏ qua. Sau tên bảng là tên của những cột được thêm. Nghĩa là những cột bị bỏ qua sẽ không được chỉ định.

insert into Lop(MaLop) values('26CCHT02')

Cài đặt cơ sở dữ liệu sql server – Thay đổi dữ liệu

Là thao tác thay đổi dữ liệu đã tồn tại trước đó dựa theo điều kiện được chỉ định trước. Nếu không chỉ định điều kiện thì tất cả dữ liệu của bảng sẽ bị tác động. Sau đây là câu lệnh thực hiện thay đổi dữ liệu cho bảng.

update tên_bảng set 
  tên_cột_1 = Giá_trị
  ,tên_cột_2 = Giá_trị
  ,...
where điều_kiện

Ví dụ thay đổi tên lớp có mã là 26CCHT01 thành Cao đẳng chính quy nghề QTM khoá 26

update Lop set 
 TenLop = N'Cao đẳng chính quy nghề QTM khoá 26'
where MaLop = '26CCHT01'

Cài đặt cơ sở dữ liệu sql server – Xoá dữ liệu

Không giống như thao tác thêm hay thay đổi dữ liệu, thao tác xoá dữ liệu sẽ làm mất dữ liệu của bảng. Vì vậy, khi chúng ta thực hiện thao tác này phải hết sức cẩn thận. Và SQL Server có kiểm tra ràng buộc về khoá ngoại.

Xoá tất cả dữ liệu của bảng

delete from tên_bảng

Xoá những dòng dữ liệu thoả điều kiện được chỉ định trước

delete from tên_bảng where điều_kiện

Câu lệnh delete ở trên chỉ thực hiện xoá dữ liệu của bảng, cấu trúc bảng vẫn còn tồn tại. Nếu chúng ta muốn xoá bảng hoặc xoá cơ sở dữ liệu, hãy sử dụng các câu lệnh sau

Câu lệnh xoá bảng

drop table tên_bảng

Câu lệnh xoá cơ sở dữ liệu (Một khi cơ sở dữ liệu bị xoá thì tất cả các bảng sẽ bị xoá theo và đồng nghĩa với việc tất cả dữ liệu cũng sẽ bị xoá hết)

drop database tên_CSDL

Tổng kết bài cài đặt cơ sở dữ liệu sql server

  • Tạo cơ sở dữ liệu
  • Tạo bảng
  • Thêm dữ liệu
  • Thay đổi dữ liệu
  • Xoá dữ liệu

Bài tập thực hành cài đặt cơ sở dữ liệu sql server

Câu 1: Tạo cơ sở dữ liệu QuanLyBanHang với yêu cầu như sau

  • Data File: kích thước khởi tạo 50MB; mỗi lần tăng 10MB; giới hạn kích thước tập tin không tăng hơn 200MB.
  • Log File: kích thước khởi tạo 10MB; mỗi lần tăng 5MB; không giới hạn việc tăng kích thước tập tin.

Câu 2: Tạo bảng cho cơ sở dữ liệu QuanLyBanHang

Bảng VatTu

Tên cột Kiểu dữ liệu Ghi chú
MaVTu Char (4) Khoá chính
TenVTu NVarChar (100)
DvTinh NVarChar (10)
PhanTram int

Bảng NhaCC

Tên cột Kiểu dữ liệu Ghi chú
MaNhaCC Char (3) Khoá chính
TenNhaCC NVarChar (100)
DiaChi NVarchar (200)
DienThoai NVarchar (20)

Bảng DonDH

Tên cột Kiểu dữ liệu Ghi chú
SoDH Char (4) Khoá chính
NgayDH DateTime
MaNhaCC Char (4)  Khoá ngoại

Bảng CTDonDH (Lưu ý bảng này có 2 khoá ngoại là SoDH và MaVTu

Tên cột Kiểu dữ liệu Ghi chú
SoDH Char  

Khoá chính

MaVTu Char
SLDat Int

Bảng PNhap

Tên cột Kiểu dữ liệu Ghi chú
SoPN Char (4) Khoá chính
NgayNhap Datetime
SoDH Char (4) Khoá ngoại

Bảng CTPhap (Lưu ý bảng này có 2 khoá ngoại là SoPN và MaVTu)

Tên cột Kiểu dữ liệu Độ rộng
SoPN Char (4) Khoá chính

 

MaVTu Char (4)
SLNhap Int
DGNhap Money

Bảng PXuat

Tên cột Kiểu dữ liệu Ghi chú
SoPX Char (4) Khoá chính
NgayXuat Datetime
TenKH NVarchar (100)

Bảng CTPXuat (Bảng này có 2 khoá ngoại là SoPX và MaVTu)

Tên cột Kiểu dữ liệu Ghi chú
SoPX Char (4) Khoá chính

 

MaVTu Char (4)
SLXuat Int
DGXuat Money

Bảng TonKho (Bảng này có một khoá ngoại là MaVTu)

Tên cột Kiểu dữ liệu Ghi chú
NamThang Char (6)  

Khoá chính

MaVTu Char (4)
SLDau Int
TongSLN Int
TongSLX Int
SLCuoi Int

Câu 3: Tạo Database Diagram

cai dat co so du lieu sql server 4

Câu 4: Thêm dữ liệu cho các bảng

Bảng NHACC
Mancc Tennhacc Diachi Dienthoai
C01 Lê Minh Trí 54 Hậu Giang Q6 HCM 8781024
C02 Trần Minh Thạch 145 Hùng Vương Mỹ Tho 7698154
C03 Hồng Phương 154/85 Lê Lai Q1 HCM 9600125
C04 Nhật Thắng 198/40 Hương Lộ 14 QTB HCM 8757757
C05 Lưu Nguyệt Quế 178 Nguyễn Văn Luông Đà Lạt 7964251
C07 Cao Minh Trung 125 Lê Quang Sung Nha Trang Chưa có
Bảng VATTU
Mavtu Tenvtu DvTinh Phantram
DD01 Đầu DVD Hitachi 1 đĩa Bộ 40
DD02 Đầu DVD Hitachi 3 đĩa Bộ 40
TL15 Tủ lạnh Sanyo 150 lit Cái 25
TL90 Tủ lạnh Sanyo 90 lit Cái 20
TV14 Tivi Sony 14 inches Cái 15
TV21 Tivi Sony 21 inches Cái 10
TV29 Tivi Sony 29 inches Cái 10
VD01 Đầu VCD Sony 1 đĩa Bộ 30
VD02 Đầu VCD Sony 3 đĩa Bộ 30
Bảng DONDH
Sodh Ngaydh Manhacc
D001 15/01/2007 C03
D002 30/01/2007 C01
D003 10/02/2007 C02
D004 17/02/2007 C05
D005 03/01/2007 C02
D006 03/12/2007 C05
Bảng CTDONDH
Sodh Mavtu SlDat
D001 DD01 10
D001 DD02 15
D002 VD02 30
D003 TV14 10
D003 TV29 20
D004 TL90 10
D005 TV14 10
D005 TV29 20
D006 TV14 10
D006 TV29 20
D006 VD01 20
Bảng PNHAP
Sopn Ngaynhap Sodh
N001 17/01/2007 D001
N002 20/01/2007 D001
N003 31/01/2007 D002
N004 15/02/2007 D003
Bảng CTPNHAP
Sopn Mavtu SlNhap DgNhap
N001 DD01 8 2500000
N001 DD02 10 3500000
N002 DD01 2 2500000
N002 DD02 5 3500000
N003 VD02 30 2500000
N004 TV14 5 2500000
N004 TV29 12 3500000
Bảng PXUAT
Sopx Ngayxuat Tenkh
X001 17/01/2007 Nguyễn Ngọc Phương Nhi
X002 25/01/2007 Nguyễn Hồng Phương
X003 31/01/2007 Nguyễn Tuấn Tú
Bảng CTPXUAT
Sopx Mavtu SlXuat DgXuat
X001 DD01 2 3500000
X002 DD01 1 3500000
X002 DD02 5 4900000
X003 DD01 3 3500000
X003 DD02 2 4900000
X003 VD02 10

3250000

Bảng TONKHO
Namthang Mavtu SLDau TongSLN TongSLX SLCuoi
200701 DD01 0 10 6 4
200701 DD02 0 15 7 8
200701 VD02 0 30 10 20
200702 DD01 4 0 0 4
200702 DD02 8 0 0 8
200702 VD02 20 0 0 20
200702 TV14 5 0 0 5
200702 TV29 12 0 0 12

Trả lời