Sql 数据库总结(一)

完整数据库创建步骤:
建库–>建表–>主键约束–>域完整性约束–>外键约束
接下来将按照数据库的建库步骤进行讲解

1.数据库的建立
首先要知道数据库的组成,一个数据库包含两部分,数据文件和日志文件,数据文件由主数据文件(.mdf)和次要数据文件(.ndf),主数据文件是必须要有的且只能有一个,次要数据文件(.ndf)可以有多个也可以没有。日志文件(.ldf)至少有一个。

创建数据库的Sql语句
use master -master是数据库的数据库,要创建一个数据库需要在master做一个备案,也
-就是注册相关信息
go
-创建数据库
Creat database StudentManageDB
on primary -创建主文件组,文件组是逻辑概念,主要目的是将文件分组管理。
(
	name = 'StudentManageDB_data',-数据库文件的逻辑名,不用管这个,数据库内部
	使用的,对外不可见,只要不重复就行了
	filename = '绝对路径\StudentManageDB.mdf',- 主数据文件
	size = 10MB, - 数据库文件初始大小
	filegrowth = 5MB - 数据文件增长量,百分比也可以
)
- 如果想创建次要数据文件,只需要中间用逗号隔开接着写就行,比如:
,
(
	name = 'StudentManageDB_data1',
	filename = '绝对路径\StudentManageDB_data1.ndf',- 主文件组中的次要数据文件
	size = 2MB, - 数据库文件初始大小
	filegrowth = 50% - 数据文件增长量,百分比也可以
)
filegroup db3g1 --第2个文件组,文件组也是数据库内部管理用的,我们只看文件看不出来属于哪个组
(
	name=''StudentManageDB_data2', --第2个文件组中的次数据文件
	filename= '绝对路径\StudentManageDB_data2.ndf',- 次要数据文件
	size = 2MB, - 数据库文件初始大小
	filegrowth = 50% - 数据文件增长量,百分比也可以
	maxsize = 30MB,	
),
-创建日志文件
log on
(
	name = 'StudentManageDB_log',
	filename = '绝对路径\StudentManageDB_log.ldf',
	size = 5MB, - 数据库文件初始大小
	filegrowth = 2MB - 数据文件增长量,百分比也可以
)
-如果向再创建一个日志文件,只需要中间用逗号隔开接着写就行,比如:
,
(
	name = 'StudentManageDB_log1',
	filename = '绝对路径\StudentManageDB_log1.ldf',
	size = 5MB, - 数据库文件初始大小
	filegrowth = 2MB - 数据文件增长量,百分比也可以
)
go

以上就完成了一个简单数据库的创建,如果这个数据库看着不顺眼,想删除怎么办,当然由办法了,使用drop就行,比如:

-删除数据库
use master
go
-判断当前数据库是否存在
if exists(select * from sysdatabases where name = 'StudentManageDB')
drop database StudentManageDB - 删除数据库
go
-drop删除数据库之后不可恢复!

数据库创建完成之后就是数据表的创建了

创建数据表
creat table 表名
(
	字段1 数据类型 列的特征
	字段2 数据类型 列的特征
	字段3 数据类型 列的特征
	........
)
go
-举例说明
use StudentManageDB    - 创建数据表需要在数据库里面,所以用use指向这个数据库,
-表示是在这个数据库里面创建数据表
go
if exists(select * from sysobjects where name = 'Students')
drop table Students
go
create table Students
(
	StudentId int identity(10000,1) primary key, -学号(主键),使用自动标识列,
	-从10000开始,每次递增1
	StudentName varchar(20) not null,
	Gender char(2) not null,
	StudentIdNo numeric(18,0) not null  - 身份证号
	ClassId int not null   - 班级编号(外键)
)
create table StudentClass
(	
	ClassId int primary key   - 班级编号(主键)
	ClassName varchar(20) not null
)

自动标识列:
该列必须是整数类型或者是没有小数位数的精确类型
标识种子:标识列的起始大小, identity(10000,1) 中的10000就是标识种子
标识增量:标识列每次的递增值, identity(10000,1) 中的1就是标识增量
标识列由系统自动维护,用户既不能自己输入数据也不能修改数值。

建完数据库和数据表,为了保证数据不重复不出错,还需要对数据进行完整性设计,那
么怎么对数据进行完整性设计呢,欲知后事如何,且听下回分解。。。
接下篇。

你可能感兴趣的:(Sql 数据库总结(一))