任务摘要:1.1安装与配置数据库管理系统环境
1.2创建关系数据库
1.3创建表,选择正确的字段数据类型
1.4创建完整性约束,绘制数据表关系图
1.5录入数据
按教程安装SQL Server2008后,使用create database命令创建一个数据库“School_MS”,其包含2个40M的数据文件,2个20M的日志文件,并包括一个文件组“MyGroup”,文件组中包含两个数据文件,文件存放路径为“D:\DATA”
create database School_MS
on primary
(
name = 'School_MS_data',
filename = 'd:\DATA\School_MS_data.mdf',
size = 40mb,
maxsize = 100mb,
filegrowth = 5mb
),
filegroup MyGroup
(
name = 'School MS_data',
filename = 'd:\DATA\SchoolMS_data.ndf',
size = 40mb,
maxsize = 100mb,
filegrowth = 5mb
)
log on
(
name = 'School_log',
filename = 'd:\DATA\School_log.ldf',
size = 20mb,
maxsize = 25mb,
filegrowth = 1mb
),
(
name = 'School_logt',
filename = 'd:\DATA\School_logt.ldf',
size = 20mb,
maxsize = 25mb,
filegrowth = 1mb
)
为了方便数据库的创建,以下为各主要参数参数的说明:
database_name | 新建数据库的名称,数据库名称在SQL Server的实例中必须唯一,并且bixufuhe必须符合标识符规则。 |
on | 指定数据库文件的存放位置。 |
primary | 文件或主文件组。若无指定primary,创建数据库时自动将第一个文件列为主文件。 |
log on | 指定日志文件的存放位置。若没有指定,将自动创建一个日志文件。 |
collate collation_name | 指定排序规则。 |
for attach | 将已存在的数据库文件附加到新数据库中。 |
name Logical_file_name | 指定逻辑文件名。 |
filename | 指定在操作系统中存储的文件名和路径。 |
size | 指定文件的初始容量大小,省略时默认单位为兆字节MB。 |
maxsize | 指定文件可以增长到的最大大小。 |
unlimited | 指定文件增长到磁盘充满。 |
filegrowth | 自动增长方式,0代表不自动增长,否则指定每次自动增长的容量大小。 |
filegroup | 指定文件组名称,数据库中必须唯一。 |
*在写数据库语句时要仔细,单词拼写要正确。
成功创建关系数据库后,分别利用管理控制台中的向导与create table语句创建所需表格。
创建基本表:
create table <表名>
(<列名><数据类型>[default][{列约束}[{,<列定义>|<表约束>}]])
例:
create table class
(
classno char(4) primary key, --主键
classname char(8) not null, --非空约束
Num int,
Charge char(4)
)
上表格的创建效果图:
SQL Server主要约束类型:
完整性类型 | 约束类型 | 描述 |
域 | default | 默认约束指定列的默认值,插入数据时系统自动赋值 |
| check | check约束,指定列的允许范围 |
| foreign key | 外键,指定必须存在值得列,可以为空值或者与主表中某个主键值一致 |
| null | 指定是否允许为null,null允许,not null不允许 |
实体 | primary key | 主键,唯一表示每一行,不允许为空值和重复值 |
| unique | 唯一约束,不允许为重复值,可以为空值 |
引用(参照) | foreign key | 外键,可以为空值或者与主表中某个主键值一致。保证两表间的参照完整性 |
| check | check约束,指定根据同一个表中其他列的值可在列中接受的数据值 |
修改基本表:
例:1、在teacher_course表格中添加复合主键
alter table teacher_course
add primary key (tno,classno,cno);
2、在student表格中添加外键classno
alter table student
add constraint student_classno_fk foreign key(classno) REFERENCES student_classno;
根据创建的表格创建数据关系图,理清各个表中主外键的关系。
最后,依次录入表格数据。