数据库设计 下载本文

{ [ NULL | NOT NULL ]

| [ { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED ] [ WITH FILLFACTOR = fillfactor ] [ON {filegroup | DEFAULT} ] ] } |FOREIGN KEY [(column [,?n])]

REFERENCES ref_table [ ( ref_column [,?n]) ] [NOT FOR REPLICATION] | CHECK [ NOT FOR REPLICATION ] ( logical_expression )}

例1:在GZGL中创建一个JBXX的数据库表 use GZGL go

create table jbxx1

(employee_id char(6) not null, name char(10) not null, birthday datetime not null, sex char(2) default‘男’) go

(二) 创建、删除和修改约束 a.利用企业管理器

在企业管理器中,右击要操作的数据表,从弹出的快捷菜单中选择“设计表”选项,出现设计表对话框,选择要设定为主键的字段,如果有多个字段,按住Ctrl键的同时,用鼠标单击选中的某个字段,从弹出的快捷菜单中选择“设置主键”选项;在属性对话框中的“索引/键”选项卡中设置。

b.利用T-SQL语句

CONSTRAINT constraint_name PRIMARY KEY/UNIQUE

[CLUSTERED|NONCLUSTERED] (column_name[,?n]) 参数说明:

constraint_name约束名称,在数据库中应该唯一,不指定,系统会自动生成一个约束名。 [CLUSTERED|NONCLUSTERED]索引类型,聚族索引或非聚族索引,CLUSTERED为默认值。 column_name用于指定主键的列名。最多由16个列组成。 例1:use GZGL

go

create table jbxx2

(employee_id char(6) not null primary key, name char(10) not null, birthday datetime not null, sex char(2) default‘男’

constraint uk_name unique(employee_id) constraint chk_sex check(sex in (‘男’,‘女’))) go

(三) 增加、删除和修改字段

16

a.利用企业管理器

在企业管理器中,右击要操作的数据表,从弹出的快捷菜单中选择“设计表”选项,出现设计表对话框,在对话框可完成增加、删除和修改字段的操作。

c.利用T-SQL语句 ALTER TABLE table

{ [ ALTER COLUMN column_name

{ new_data_type [ ( precision [ , scale ] ) ] [ COLLATE < collation_name > ] [ NULL | NOT NULL ]

| {ADD | DROP } ROWGUIDCOL } ] | ADD

{ [ < column_definition > ]

| column_name AS computed_column_expression } [ ,...n ]

| [ WITH CHECK | WITH NOCHECK ] ADD { < table_constraint > } [ ,...n ] | DROP

{ [ CONSTRAINT ] constraint_name | COLUMN column } [ ,...n ] | { CHECK | NOCHECK } CONSTRAINT

{ ALL | constraint_name [ ,...n ] } | { ENABLE | DISABLE } TRIGGER

{ ALL | trigger_name [ ,...n ] } }

例如:

alter table jbxx2 alter column name char(8) alter table jbxx2 drop column birthday alter table jbxx2 add memo varchar(200)

alter table jbxx1 add constraint PK_em_id primary key(employee_id) alter table jbxx1 add constraint sex default’男’for sex (四) 查看表格 a.利用企业管理器

在企业管理器中,右击要操作的数据表,从弹出的快捷菜单中选择“属性”选项,出现表属性对话框,在对话框可显示对表格的定义。

在企业管理器中,右击要操作的数据表,从弹出的快捷菜单中选择“打开表”选项,该选项有三个子项:“返回所有行”:显示所有记录;“返回首行”::显示前N条记录,N可自己输入;“查询”:查询具体某行记录。

b.利用T-SQL语句

语法:sp_help [[@objname=]name]

系统存储过程Sp_help可以提供指定数据库对象的信息,只用于当前数据库。其中[[@objname=]name]字句用于指定对象的名称,如果不指定对象名称,sp_help存储过程就会列出当前数据库中的所有对象名称、对象的所有者和对象的类型。

例1:显示当前数据库中所有对象的信息 use gzgl

17

go

exec sp_help

例2:显示表jbxx的信息 use gzgl go

exec sp_help jbxx1 (五) 更改表的名称

语法:sp_rename [@objname=]‘object_name’,[@newname=] ‘new_name’ [,[@objtype=] ‘object_type’]

@objtype=] ‘object_type’指定要改名的对象的类型,其值可以为COLUMN,DATABASE,INDEX,USERDATATYPE,OBJECT。值OBJECT指代系统表中的所有对象,OBJECT值为默认值。

例1:sp_rename ‘jbxx1’,‘基本信息‘ //将jbxx1的名称改为基本信息 (六) 删除表 a.利用企业管理器

在企业管理器中,右击要删除的数据表,从弹出的快捷菜单中选择“删除”选项,出现“除去对象”对话框,在对话框完成操作。

b.利用T-SQL语句

DROP TABLE table_name 实验习题:

分别用企业管理器和查询分析器在“学生”数据库中创建学生表、课程表、选课表,表中字段如下:s(sno,sname,age,sex),c(cno,cname,teacher),sc(sno,cno,grade),类型自定。

实验报告要求: ? 实验目的 ? 实验内容及步骤 ? 实验习题的源程序清单

? 写出在实验过程中遇到的问题及解决方法 ? 要求字迹端正、条理清晰、概念正确

18

实 验 三

实验名称:表中数据的操作 实验学时:4 实验目的:

1) 掌握在企业管理器中对表进行插入、修改和删除数据的操作。 2) 掌握使用T-SQL语句对表进行插入、修改和删除数据的操作。 3) 了解使用企业管理器完成查询操作。 4) 重点掌握 SELECT语句的使用方法。 5) 掌握子查询(嵌套查询)、连接查询的使用。 实验内容及步骤:

(一) 在企业管理器中对数据库中的表进行插入、修改和删除数据 例1:在企业管理器中向数据库gzgl中的表输入数据

在企业管理器中向jbxx表插入记录,选择并用鼠标右击表jbxx →选择“返回所有行” →逐字段输入各记录值,输入完后关闭窗口。

例2:在企业管理器中将表jbxx中编号为020805的记录的部门号改为003

在企业管理器中选择表并用鼠标右击表jbxx →选择“返回所有行” →将光标定位至employee_id为020805的记录的department_id字段,改为003。

例3:在企业管理器中删除数据库gzgl表数据 在企业管理器中删除表jbxx的第3、6行操作步骤:在企业管理器中选择表并用鼠标右击表jbxx →选择“返回所有行” →选择要删除的行 →单击鼠标右键 →删除 →关闭表窗口。

(二) 使用T-SQL语句对表进行插入、修改和删除数据的操作

a.使用INSERT语句插入数据语法:INSERT [ INTO] { table_name | view_name }

{[( column_list )] { VALUES

( { DEFAULT | NULL | expression } [ ,...n] ) | derived_table }

例1:向数据库gzgl中的表输入数据 use gzgl go

insert into jbxx

values(‘0111112’,’李子林’,’1973_5_3’,’1’,’310107196206088243’,’交通路5号’,’sql@126.com’) go

单击快捷工具栏的执行图标或按F5,执行上述语句。 b.使用UPDATE语句更新数据 语法:UPDATE

{ table_name | view_name

19