Tải bản đầy đủ (.pdf) (52 trang)

Chuong2 xay dung csdl

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 (3.4 MB, 52 trang )

9/10/2019

Chương 2

Xây dựng CSDL

Nội dung
1

CSDL trong SQL Server

2

Tạo và quản lý CSDL

3

Các kiểu dữ liệu

4

Tạo và quản lý bảng

5
6

Ràng buộc toàn vẹn đơn giản
Các thao tác trên dữ liệu

www.themegallery.com


1


9/10/2019

CSDL trong SQL Server

www.themegallery.com

CSDL trong SQL Server
Trong SQL server CSDL được chia thành 2 loại
 CSDL của hệ thống
 CSDL do người dùng tạo

www.themegallery.com

2


9/10/2019

CSDL trong SQL Server
Database
Schema
Attribute

Datatype

Primary key
Foreign key


Table
View
Role

Default

Constraint

User

Trigger

Rule

Function
Stored
procedure

www.themegallery.com

SQL server
2008

www.themegallery.com

3


9/10/2019


Nội dung
1

CSDL trong SQL Server

2

Tạo và quản lý CSDL

3

Các kiểu dữ liệu

4

Tạo và quản lý bảng

5
6

Ràng buộc toàn vẹn đơn giản
Các thao tác trên dữ liệu

www.themegallery.com

T-SQL language statements

SELECT
INSERT

UPDATE
DELETE





CREATE
ALTER
DROP

GRANT
REVOKE
DENY

BEGIN TRAN
COMMIT TRAN
ROLLBACK TRAN

Data Manipulation Language
Data Definition Language
Data Control Language
Transaction Control Language

www.themegallery.com

4


9/10/2019


Tạo CSDL
Tên logic của CSDL là gì?
Tên file vật lý của dữ liệu là gì?
Tên file log vật lý của dữ liệu là gì?
Kích thước file dữ liệu ban đầu?

Database

Bước tăng kích thước?
Kích thước tối đa của file dữ liệu?

www.themegallery.com

Tạo CSDL

Tên DB, không trùng,
tối đa 128 char

CREATE DATABASE database_name
[ ON [ [PRIMARY] < filespec > [ ,...n ] ]]
[ LOG ON { < filespec > [ ,...n ] } ]
< filespec > định nghĩa như sau

Danh sách file
DL nếu muốn
chỉ định cụ thể

Danh sách file log nếu
muốn chỉ định cụ thể


Tên file dùng trong môi
trường SQL Server

( [ Name = logical_file_name , ]
Tên thực sự của file
Filename = 'os_file_name'
(bao gồm đường dẫn)
[ , SIZE = size ]
[ , Maxsize = { max_size | UNLIMITED } ]
[ , Filegrowth = growth_increment ] ) [ ,...n ]
www.themegallery.com

5


9/10/2019

Tạo CSDL
CREATE DATABASE database_name
[ ON [ [PRIMARY] < filespec > [ ,...n ] ]]
[ LOG ON { < filespec > [ ,...n ] } ]

Kích thước ban đầu
cho các file dữ liệu.
Mặc định 3 MB, tối
thiểu 1 MB

< filespec > định nghĩa như sau
thước tối đa cho các

( [ Name = logical_file_name , ] Kích
file dữ liệu. Mặc định là vô
tận cho đến khi hết đĩa
Filename = 'os_file_name'
cứng.Tối thiểu 3MB
[ , SIZE = size ]
[ , Maxsize = { max_size | UNLIMITED } ]
[ , Filegrowth = growth_increment ] ) [ ,...n ]

www.themegallery.com

Bước tăng kích thước file. Tối thiểu 1 MB,
mặc định 10%. Giá trị phần trăm tính trên
kích thước hiện hành. Đvị mặc định là MB

Ví dụ
CREATE DATABASE QuanLyHangHoa
ON
PRIMARY
( NAME = Primary_File,
FILENAME = 'c:\program files\microsoft sql
server\mssql\data\archdat1.mdf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Secondary_File_1,
FILENAME = 'c:\program files\microsoft sql
server\mssql\data\archdat2.ndf',
SIZE = 100MB,
Có giá trị : KB, TB, MB.

MAXSIZE = 200,
Mặc định là MB.
FILEGROWTH = 20)
www.themegallery.com

6


9/10/2019

Đường dẫn mặc định
Mặc định, các tập tin dữ liệu và log được
lưu trong thư mục
C:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
(SQL 2008)
C:\Program Files\Microsoft SQL
Server\MSSQL9.MSSQLSERVER\MSSQL\DATA
(SQL 2005)

www.themegallery.com

Filegroup

www.themegallery.com

7


9/10/2019


Filegroup
• Mục tiêu
– Gom nhóm (logic) các đối tượng, các file dữ liệu
để tăng hiệu năng và dễ dàng quản trị (backup,
restore)

• Có 2 kiểu filegroup
– Primary
• Chứa file mdf và tất cả các file ko xác định filegroup.
• Chứa tất cả các bảng hệ thống

– User-defined
• Là bất kì một filegroup nào được tạo bằng từ khóa
filegroup trong lệnh create DB
www.themegallery.com

Lưu ý
• 1 filegroup chỉ thuộc về duy nhất 1 CSDL
• 1 file chỉ thuộc về duy nhất 1 filegroup
• Log files khơng thuộc filegroup

www.themegallery.com

8


9/10/2019

Thêm Filegroup

ALTER DATABASE <DB_Name>
ADD Filegroup <TenFileGroup>
Ví dụ: Thêm một filegroup tên ‘SecondGroup’
vào CSDL DBTest
ALTER DATABASE DBTest
ADD Filegroup SecondGroup

www.themegallery.com

Thêm FileGroup

www.themegallery.com

9


9/10/2019

Thao tác trên Filegroup
Cập nhật trạng thái Filegroup
ALTER DATABASE <DB_Name> MODIFY
FILEGROUP <FilegroupName> READONLY
Thiết lập Filegroup mặc định
ALTER DATABASE <DB_Name> MODIFY
FILEGROUP <FilegroupName> DEFAULT

www.themegallery.com

Thêm file .ndf
ALTER DATABASE <TenCSDL>

ADD FILE
(Name = <TenLogic>,
FileName = ‘<TenVatLy>’)
TO FILEGROUP <TenFileGroup>
Ví dụ: Trong CSDL QLSV thêm file QLSV_data1.ndf
vào C:\CSDL
ALTER DATABASE QLSV
ADD FILE (Name = QLSV_data1,
FileName = ‘C:\CSDL\QLSV_data1.ndf)
www.themegallery.com

10


9/10/2019

Thay đổi kích thước file dữ liệu
ALTER DATABASE <TenCSDL>
MODIFY FILE <filespec>
<filespec>
( NAME = logical_file_name
[ , NEWNAME = new_logical_name ]
[ , FILENAME = 'os_file_name' ]
[ , SIZE = size ]
[ , MAXSIZE = { max_size | UNLIMITED } ]
[ , FILEGROWTH = growth_increment ] )
www.themegallery.com

Ví dụ
Thay đổi kích thước file QLSV_data lên thành

100MB
ALTER DATABASE QLSV
MODIFY FILE (Name = ‘qlsv_data’,
size = 100MB,
filegrowth = 2MB)

www.themegallery.com

11


9/10/2019

Xem kích thước CSDL
SELECT DB_NAME(database_id) AS DatabaseName,
Name AS Logical_Name, Physical_Name,
(size*8)/1024 SizeMB
FROM sys.master_files
WHERE DB_NAME(database_id) = ’TênCSDL‘

sp_helpdb ‘TênCSDL’

www.themegallery.com

Ví dụ: CSDL QLSV_2011
SELECT DB_NAME(database_id) AS DatabaseName,
Name AS Logical_Name, Physical_Name,
(size*8)/1024 SizeMB
FROM sys.master_files
WHERE DB_NAME(database_id) = ’QLSV_2011'


www.themegallery.com

12


9/10/2019

Xem thơng tin CSDL
Exec sp_helpdb 'qlsv_2011'

www.themegallery.com

Quản lý CSDL
Xố một CSDL đã tồn tại
Drop Database database_name

www.themegallery.com

13


9/10/2019

Quản lý CSDL
Gắn CSDL vào SQL Server:
EXEC sp_attach_db
[@dbname = ]<db_name>,
[@filename=]<file_name_1> [,…n]


Gỡ một CSDL trong SQL Server
EXEC sp_detach_db
[@dbname=]<db_name>

www.themegallery.com

Detach SQL Server

www.themegallery.com

14


9/10/2019

Attach SQL Server

www.themegallery.com

Bài tập 1
Hãy tạo CSDL QLSV với yêu cầu sau:
- File dữ liệu
- Tên tập tin chính là: QLSV_Data.mdf.
- Dung lượng khởi tạo là 1MB.
- Độ gia tăng là 10%.

- File nhật kí
-

Tập tin log là QLSV_Log.ldf.

Dung lượng ban đầu là 2MB.
Kích thước khơng giới hạn.
Độ gia tăng dung lượng là 10MB

www.themegallery.com

15


9/10/2019

Bài tập 2







Tên CSDL: QLTV
Địa chỉ vật lý: C:\CSDL
Size: 20MB.
Maxsize: 5 lần Size.
Mỗi lần tăng ¼ maxsize.

www.themegallery.com

Bài tập 3
Thực hành trên máy bài tập 1 và thêm các nội
dung sau. Chụp hình minh họa kết quả, báo cáo

bằng file word:
- Thêm 1 filegroup tên là Group2 cho csdl QLSV
- Thêm 1 file dữ liệu tên là QLSV2.ndf vào
filegroup Group2 cho csdl QLSV
- Cập nhật file dữ liệu QLSV2.ndf thành
QLSV_Data2.ndf và đổi kích thước file khác với
kích thước ban đầu
- Dùng câu truy vấn xem kích thước csdl QLSV

www.themegallery.com

16


9/10/2019

Nội dung
1

CSDL trong SQL Server

2

Tạo và quản lý CSDL

3

Các kiểu dữ liệu

4


Tạo và quản lý bảng

5
6

Ràng buộc toàn vẹn đơn giản
Các thao tác trên dữ liệu

www.themegallery.com

Kiểu dữ liệu
System
datatype

Kiểu dữ liệu cơ sở do hệ
quản trị cung cấp

User
defined
datatype

Kiểu dữ liệu do người dùng
tự định nghĩa trên kiểu cơ
sở

DataType

www.themegallery.com


17


9/10/2019

Kiểu dữ liệu cơ sở
Số

Datetime
Smalldatetime
Date
Time

Số nguyên
Số thực

System
data type

Ngày
tháng

Chuỗi

Char
Varchar
Text

www.themegallery.com


Kiểu dữ liệu cơ sở
Số
 Số nguyên:






Bit : 0  1
Tinyint : 0  255
Smallint : -32,768  32,767
Int : 2-31  231 - 1
Bigint : –263  263–1

www.themegallery.com

18


9/10/2019

Kiểu dữ liệu cơ sở
Số
Số bit cần dùng để
lưu trữ. 1≤ n≤53

 Số thực
• Floating point:


– float(n) : -1.79308  -2.23-308 , 0 , 2.23-308  1.79308
– real = float(24) : -3,438  -1.1838 , 0 , 1,1838  3.438

• Fixed point
Số dư

– Decimal(p,s)
– Numeric(p,s)

Số thập phân

www.themegallery.com

Kiểu dữ liệu cơ sở
Chuỗi
 char(n): 8000bytes
 nchar(n) : 4000bytes
 varchar(n): 8000bytes
 nvarchar(n) : 4000bytes
 text; ntext : 2GB
Text

Varchar

•Dùng khi cần lưu đoạn text lớn trong CSDL

•Dùng khi lưu các chuỗi có chiều dài ngắn

•Khơng thực hiện tìm kiếm giá trị trong chuỗi


•Tìm kiếm giá trị trong chuỗi

•Ít truy vấn và ko thực hiện kết trên cột này

•Thường dùng để truy vấn và kết

•Blog comments
•Wiki pages
www.themegallery.com
•Code source

•Usernames
•Page titles
•Filenames

19


9/10/2019

Kiểu dữ liệu cơ sở
Ngày giờ
 Datetime: 01/01/1753 12/31/9999
 Smalldatetime: 01/01/1900  06/06/2079
 Date: 01/01/0001 to 12/31/9999
 Time: 00:00:00.000000023:59:59.9999999
nanoseconds

www.themegallery.com


Kiểu tự định nghĩa
của kiểu dữ liệu
Dùng thủ tục sp_addtype Tên
mới (do người dùng đặt)
sp_addtype
Kiểu dữ cơ sở (không gán
[ @typename = ] type,
được giá trị mặc định)
[ @phystype = ] system_data_type,
Cho phép null hay
[ , [ @nulltype = ] 'null_type' ]
không: ‘NULL’ (mặc
định) hay ‘NOT NULL’

www.themegallery.com

20


9/10/2019

Ví dụ





EXEC sp_addtype CMND, 'varchar(11)', 'NOT NULL'
EXEC sp_addtype NgaySinh, datetime, 'NULL'
EXEC sp_addtype SoDT, 'varchar(24)', 'NOT NULL'

EXEC sp_addtype SoFax, 'varchar(24)', 'NULL'

www.themegallery.com

Ví dụ

www.themegallery.com

21


9/10/2019

Xóa kiểu tự định nghĩa
Cú pháp
EXEC sp_droptype <type_name>
Ví dụ
EXEC sp_droptype CMND

www.themegallery.com

Nội dung
1

CSDL trong SQL Server

2

Tạo và quản lý CSDL


3

Các kiểu dữ liệu

4

Tạo và quản lý bảng

5
6

Ràng buộc toàn vẹn đơn giản
Các thao tác trên dữ liệu

www.themegallery.com

22


9/10/2019

Tạo bảng
Schema?
Tên bảng?
Thuộc tính?
Kiểu dữ liệu?

Table

Khóa chính – ngoại?

Default?

www.themegallery.com

Schema
Database

www.themegallery.com

23


9/10/2019

www.themegallery.com

Tạo schema
Tên schema

CREATE SCHEMA <schema_name>
[AUTHORIZATION <owner_name>]
Tên user tạo schema.
Mặc định là dbo

Tạo schema tên snn thuộc sở hữu của người
dung dbo

CREATE SCHEMA snn
AUTHORIZATION dbo
www.themegallery.com


24


9/10/2019

Ví dụ

www.themegallery.com

SQL server

www.themegallery.com

25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×