数据库实验1
实验1数据库定义实验 一 实验内容 1、数据库的创建、修改和删除 2、基本表的定义

实验1数据库定义实验一实验内容1、数据库的创建、修改
和删除2、基本表的定义
一、实验内容
1. 数据库的创建、修改和删除
- 创建名为`TestDB` 的数据库
```sql
CREATE DATABASE TestDB;
```
- 修改数据库的属性,例如增加日志文件大小
```sql
ALTER DATABASE TestDB
MODIFY FILE (NAME = TestDB_Log, SIZE = 50MB);
```
- 删除数据库
```sql
DROP DATABASE TestDB;
```
2. 基本表的定义
- 创建名为`Employees` 的表,包含员工编号(`ID`)、姓
名(`Name`)和工资(`Salary`)列
```sql
CREATE TABLE Employees (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Salary DECIMAL(10, 2)
);
```
- 修改表结构,添加部门(`Department`)列
```sql
ALTER TABLE Employees
ADD Department VARCHAR(50);
```
- 删除表
```sql
DROP TABLE Employees;
```
二、总结
通过这个实验,你应该学会了如何使用SQL 语句创建、修改和删除数据库,以及定义基本表的结构。
实验1数据库的创建与管理

实验1 数据库的创建与管理1.1 实验目的(1)掌握开发环境的基本功能和使用方法。
(2)掌握数据库的建立方法。
(3)掌握图形界面下的数据表设计方法。
(4)掌握数据表记录的“增删改查”方法。
(5)掌握数据库的导入导出方法。
1.2 实验内容与步骤1.2.1 建立数据库启动MS SQL SERVER 2005,并建立学生管理数据库,文件名为学生自己姓名首字母的缩写,如张大千同学缩写为ZDQ。
设置库的大小50M,日志文件大小25M的新数据库。
1.2.2数据表的设计参照教材P50页的要求逻辑设计表,为自己实现以下3个表:学生表:Student(Sno, Sname, Ssex, Sage, Sdept);课程表:Course(Cno, Cname, Credit, Semester);学生选课表:SC(Sno, Cno, Grade)设计要求:(1) 定义关系模式(包括表名,属性名,属性类型及长度);(2) 定义表的主码及外码。
1.2.3 数据表记录的“增删改查”操作至少输入学生记录10条、系别4个、课程10个,便于后续实验的数据操纵、视图设计和数据控制处理。
数据库还原:数据库备份:实验2 数据操纵 2.1 实验目的(1)掌握SQL语言中数据查询和数据更新的语句(2)掌握SQL语言中数据更新的语句(3)掌握使用SQL语句进行视图的定义的方法2.2 实验步骤2.2.1使用SQL语句完成数据查询完成教材第五章例1到例82的例题题目选出40个进行实验,并把相应的命令语句写入实验报告。
对例45、例51(两种方法(自连接、子查询))以及外连接的操作在实验报告中给出运行结果。
2.2.2 使用SQL语句完成数据更新完成教材第五章5.2节的例题中的40个,并把相应的命令语句写入实验报告并给出运行结果。
1.SELECT Sname,Sage FROM StudentSELECT Sname,Sno,Sdept FROM StudentSELECT * FROM StudentSELECT Sname,2014-Sage FROM StudentSELECT Sname,Sage FROM StudentWHERE Sage<216.SELECTStudent.Sno,Student.Sname,Student.Ssex,Student.Sage,Student.Sdept,SC. Grade FROM Student INNER JOIN SCON Student .Sno=SC.SnoSELECT Sname,Sdept,Sage FROM StudentWHERE Sage BETWEEN 20 AND 23SELECT Sname,Ssex FROM StudentWHERE Sdept IN('xinxi','tongxin','shuxue')SELECT*FROM StudentWHERE Sname LIKE'a%'SELECT*FROM StudentWHERE Sname LIKE'[abc]%'11.SELECT*FROM StudentWHERE Sname LIKE'_[1]%'SELECT*FROM StudentWHERE Sname NOT LIKE'[ab]%'SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.SnoWHERE Student.Sno NOT IN(SELECT Sno FROM SCWHERE Cno ='a001')SELECT DISTINCT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Student.Sno IN(SELECT Sno FROM SCWHERE Cno ='100')SELECT Sname,Sdept,Grade AS'tiyu'FROM Student JOIN SC ONStudent.Sno=SC.Sno JOIN Course ON o=oWHERE Cname ='tiyu'AND Grade >(SELECT AVG(Grade)FROM SC JOIN Course ON o=oWHERE Cname='tiyu')16.SELECT Sname,Sdept FROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname ='a1')AND Sname !='a1'SELECT Sno,AVG(Grade)FROM SCGROUP BY SnoHAVING AVG(Grade)>(SELECT AVG(Grade)FROM SC)SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROMStudent JOIN SC ON Student.Sno=SC.SnoSELECT Sname,Sage FROM StudentWHERE Sdept ='shuxue'AND Sage=(SELECT MAX(Sage)FROM Student)SELECT Sno,Grade FROM SCWHERE Cno ='100'AND Grade>(SELECT AVG(Grade)FROM SC)21.SELECT COUNT(*)'选课门数',AVG(Grade)'平均成绩'FROM SCWHERE Sno IN(SELECT Sno FROM SC JOIN Course ON o=oWHERE Cname='shujuku')GROUP BY SnoSELECT Sno,Sname FROM StudentWHERE Sno IN(SELECT Sno FROM SC JOIN Course ON o=oWHERE Cname ='shujuku')SELECT Sname,Ssex FROM StudentWHERE Sdept ='xinxi'AND Sno IN(SELECT Sno FROM SCWHERE Cno ='100')SELECT Student.Sno,Sname FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Grade >=90SELECT*FROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname ='a1')AND Sname !='a1'26.SELECT TOP 2 WITH TIES Cno,COUNT(*)'人数'FROM SCGROUP BY CnoORDER BY COUNT(*)ASCSELECT TOP 3 WITH TIES Sname,Sdept,Grade FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname ='shujuku'ORDER BY Grade DESCSELECT TOP 3 WITH TIES Sname,Sage,Sdept FROM StudentORDER BY Sage DESCSELECT COUNT(*)FROM Student JOIN SC ON Student.Sno=SC.SnoWHERE Sdept ='xinxi'GROUP BY Student.SnoORDER BY COUNT(*)DESCSELECT Student.Sno,COUNT(o)FROM Student LEFT JOIN SC ON Student.Sno=SC.SnoWHERE Sdept ='xinxi'GROUP BY Student.SnoORDER BY COUNT(o)DESC31. SELECT Sname,Ssex FROM Student LEFT JOIN SC ON Student.Sno=SC.Sno WHERE Sdept ='xinxi'AND Cno IS NULLSELECT Cname FROM SC RIGHT JOIN Course ON o=oWHERE Sno IS NULLSELECT Student.Sno,Sname,o,Grade FROM SC RIGHT JOIN Student ON SC.Sno=Student.SnoSELECT Cname,Credit FROM CourseWHERE Credit =(SELECT Credit From CourseWHERE Cname ='gaoshu')AND Cname !='gaoshu'SELECT Sdept,AVG(Grade)FROM SC JOIN Student ON SC.Sno=Student.Sno GROUP BY Sdept36. SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname='shujuku'SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname='shujuku'AND Sdept ='xinxi'SELECT Sname,Cno,Grade FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Sdept ='xinxi'SELECT Sdept,COUNT(*)FROM StudentWHERE Sage <=20GROUP BY Sdept40.SELECT Sno,COUNT(*)FROM SCGROUP BY SnoHAVING COUNT(*)>=2。
数据库实验指导(071125)

《数据库系统原理》实验指导书索剑2007-11实验1:数据库模式设计及建立(2学时)实验目的:1.掌握数据库模式设计及建立的方法,建立数据库及关系2.比较SQL命令方式和可视化环境管理器方式设计的异同点3.熟悉 SQL SERVER 的企业管理器和查询分析器实验类型:验证实验内容:1.在SQL Server环境中建立“学生-课程”数据库2.使用SQL语言及可视化环境建立“学生-课程”数据库中的表3.观察“学生-课程”数据库的E-R图、逻辑模式以及文件存储之间的联系操作步骤:1.描述教材P59中所叙述的“学生-课程”数据库概念模式2.仔细分析“学生-课程”数据库关系逻辑模式(尤其是实体完整性、参照完整性规则)Student(学生表):Sno Sname Ssex Sage Sdept95001 李勇男20 CS95002 刘晨女19 IS95003 王敏女18 MA95004 张立男18 IS95005 王强男17 IS95015 张三男20 CS95019 李四男20 CS95020 陈冬男18 ISCourse(课程表):Cno Cname Cpno Ccredit1 数据库 5 42 数学 23 信息系统 1 44 操作系统 6 35 数据结构7 46 数据处理 27 Pascal语言6 4SC(选修表):Sno Cno Grade95001 1 6595001 2 8895001 3 5795001 4 7995001 5 4595001 6 9095001 7 8195002 2 9095002 3 8095002 4 5595003 2 095019 2 6695020 13.熟悉SQL SERVER的企业管理器和查询分析器4.在企业管理器可视化环境下创建“学生-课程”数据库,仔细观察物理模式的形成过程5.在可视化环境下建立如上所述关系模式,建立相应的实体、参照完整性,添加关系数据,仔细观察逻辑模式的形成过程6.启动“查询分析器”,编制SQL语言再次实现上述过程。
数据库实验一 简单数据查询

实验一简单数据查询
一、实验目的
掌握利用select语句进行简单数据查询。
二、实验要求
写出实训时碰到的问题以及解决问题的办法,完成本次实训的体会。
三、实验内容
1.从student表中检索学生所在班级编码,并消除重复行
2.检索课程表(course)中的教师名、课程号、课程名称,要求检索结果按照教师名降序排序
3.检索课程表(course)信息,显示课程号大于’005’的课程编号及课程名称,只显示结果中前15行
4.检索每位教师所上课程的平均报名人数,只显示平均报名人数在25到35人之间的教师
5.查看部门编号为“03”的部门名称。
6.查看部门名称中包含有“工程”两个字的系的全名。
7.显示共有多少个部门。
8.显示“01”年级共有多少个班级。
9.查看在“周二晚”上课的课程名称和教师。
10.查看姓“张”、“陈”、“黄”同学们的基本信息,要求按照姓名降序排列查询结果。
四、实验作业
严格按照各题要求做实验,在实训报告中,需要对知识点进行描述,撰写实验过程及过程中遇到的难点,并给出解决办法或新的心得体会。
数据库实验报告

实验(一): 熟练掌握SQL语言实验目的:熟悉上机环境,创建数据库,在数据库上建立关系模式,插入数据,进行相应的查询操作。
实验内容:具体包括如下三部分。
一、熟悉上机环境。
客户/服务器结构,数据库服务器在一台NT服务器上,同学们通过客户机(操作系统为Windows 2000)上安装的SQL Server客户端程序, 使用SQL Server数据库服务器。
具体包括:1.了解SQL Server 环境。
鼠标点击开始,进入“Microsoft SQL Server→企业管理器”,点击SQL Server组下的数据库服务器(服务器名称为NEUC-201S(Windows NT)), 可以看到服务器上的圆形标志变为绿色,说明客户端程序已与服务器连接成功。
点击服务器(NEUC-201S(Windows NT))下的数据库,可以看到服务器上已建立的数据库,你可访问你有权访问的数据库,并进行相应的操作功能。
因为,数据库服务器上建有许多数据库, 每个数据库都有一些合法的用户。
2.鼠标点击开始,进入“Microsoft SQL Server→查询分析器”,输入用户名和口令,进入SQL查询分析器。
如:你登录的客户机为27号,那么请以用户名user27,口令为user27登录,登录后缺省连到数据库user27上,user27/user27是数据库user27的创建者,因此用户user27/ user27具有在数据库user27上创建表等一切权力。
3.在SQL查询分析器环境下,你就可进行SQL命令语句操作了。
二、在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有关查询。
1.描述学生、课程情况的E-R图如下,请将其转化为用关系数据模型描述的关系模式CREA TE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));CREA TE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) );CREA TE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) );4在已建立的关系模式之上(已插入一些数据)建立主键约束,参照约束和用户定义的约束(要求学生年龄不小于14岁,不大于35岁),如果约束不能建立,请分析原因,修改后建立上述约束。
数据库实验报告全

数据库实验报告全实验⼀实验⽬的1.熟悉SQL Server Management Studio(SSMS)的⼯作环境2.掌握使⽤和命令建⽴数据库的⽅法3.熟练掌握使⽤SSMS和T-SQL语句创建、修改和删除表。
4.熟练掌握使⽤SSMS和T-SQL语句插⼊、修改和删除表数据。
实验内容1.采⽤SQL Server Management Studio 、T-SQL语句两种⽅式创建产品销售数据库,要求:1)使⽤SSMS创建数据库CPXS_bak,数据⽂件初始⼤⼩为5MB,最⼤⼤⼩50MB,按5MB增长;⽇志⽂件初始为2MB,最⼤可增长到10MB,按2MB增长;其余参数取默认值。
2)⽤T-SQL语句创建数据库CPXS,数据⽂件的增长⽅式改为增长⽅式按10%⽐例增长,其余与CPXS_bak。
3)⽤T-SQL语句删除数据库CPXS_bak。
2.CPXS数据库包含如下三个表:1)产品(产品编号,产品名称,价格,库存量)2)客户(客户编号,客户名称,地区,负责⼈,电话)3)销售(产品编号,客户编号,销售⽇期,数量,销售额)三个表结构如资料中图3.1~图3.3所⽰,请写出创建以上三个表的T-SQL语句并在查询分析器中运⾏。
3.在SSMS中输⼊如资料中图3.4~图3.6的商品表、客户表和销售表的样本数据。
6.将CP表中每种商品的价格打8折。
7.将CP表中价格打9折后⼩于1500的商品删除。
⼆.实验步骤与结果(说明:要写出相关步骤和SQL语句,实验结果可以是运⾏画⾯的抓屏,抓屏图⽚要尽可能的⼩。
)1.1)使⽤SSMS创建数据库CPXS_bak效果图为2)⽤T-SQL语句创建数据库CPXS:CREATE DATABASE CPXSON PRIMARY(NAME='CPXS_DATA',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_DATA.MDF', SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=10%)LOG ON(NAME='CPXS_LOG',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_LOG.LDF', SIZE=2MB,MAXSIZE=10MB,FILEGROWTH=2MB)3) DROP DATABASE CPXS_bak刷新数据库会看到CPXS_bak不存在2.1) USE CPXSGOCREATE TABLE产品(产品编号char(6)PRIMARY KEY,产品名称char(30)NOT NULL,价格float(8),库存量int,)2) USE CPXSGOCREATE TABLE客户(客户编号char(6)PRIMARY KEY,客户名称char(30)NOT NULL,地区char(10),负责⼈char(8),电话char(12))3)USE CPXSGOCREATE TABLE销售(产品编号char(6),客户编号char(6),销售⽇期datetime,数量int NOT NULL,销售额float(8)NOT NULL,CONSTRAINT pk_js PRIMARY KEY(产品编号,客户编号,销售⽇期))/*pk_js为约束名*/ 执⾏完上⾯的操作就能看见表已经添加进数据库中,如图所⽰:3. 打开表:在其中添加数据:4.1)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200001','柜式空调','3000','200')2)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200002','微波炉','1000','100')3)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200003','抽油烟机','1200','50')可以看见图中的产品表增加了如下内容:5.USE CPXSALTER TABLE产品Add产品简列varchar(50)6. USE CPXSUPDATE产品set价格=价格*0.87. USE CPXSDELETE产品WHERE价格*0.9<1500三.实验中的问题及⼼得(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。
数据库实验1:SQL查询操作

数据库实验1:SQL查询操作题目:设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY)。
供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成。
零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。
工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。
工程项目表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
今有若干数据如下:S表:SNO SNAME STATUS CITYS1 精益20 天津S2 盛锡10 北京S3 东方红30 北京S4 丰盛泰20 天津S5 为民30 上海P表:PNO PNAME COLOR WEIGHTP1 螺母红12P2 螺栓绿17P3 螺丝刀蓝14P4 螺丝刀红14P5 凸轮蓝40P6 齿轮红30J表:JNO JNAME CITY J1 三建北京J2 一汽长春J3 弹簧厂天津J4 造船厂天津J5 机车厂唐山J6 无线电厂常州J7 半导体厂南京SPJ表:SNO PNO JNO QTY S1 P1 J1 200S1 P1 J3 100S1 P1 J4 700S1 P2 J2 100S2 P3 J1 400S2 P3 J2 200S2 P3 J4 500S2 P3 J5 400S2 P5 J1 400S2 P5 J2 100S3 P1 J1 200S3 P3 J1 200S4 P5 J1 100S4 P6 J3 300S4 P6 J4 200S5 P2 J4 100S5 P3 J1 200S5 P6 J2 200S5 P6 J4 500首先进行创建数据库、表,插入数据等操作。
数据库原理实验一-数据库和表的创建与管理

一.实验内容、步骤以及结果1.利用图形用户界面创建,备份,删除和还原数据库和数据表(1)创建SPJ数据库,初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名和物理文件名均采用默认值。
(2)在SPJ数据库中创建如图2.1-图2.4的四张表(3)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。
(提示:最好先删除系统默认的备份文件名,然后添加自己指定的备份文件名)(4)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。
(5) 删除已经创建的工程项目表(J表)。
(6) 删除SPJ数据库。
(可以在系统默认的数据存储文件夹下查看此时SPJ数据库对应的mdf,ldf文件是否存在)(7) 利用备份过的bak备份文件还原刚才删除的SPJ数据库.(还原数据库)(8) 利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。
(附加)(9)将SPJ数据库的文件大小修改为100MB。
(10) 修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类型。
2。
利用SQL语言创建和删除数据库和数据表(1)用SQL语句创建如图2.5—图2.7要求的数据库Student, 初始大小为20MB,最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名和物理文件名,日志文件名请自定义。
(2) 用SQL语句创建上述的三张表,各个字段的数据类型请自己确定,每张表只要有主键约束即可,不要其他约束.不用输入数据。
(3)用SQL中的backup 语句将数据库Student备份到一个bak文件。
(提示:backup database student to disk)——备份:BACKUP DATABASE ”student”TO DISK ='C:\lzcDB1\mybak1015.bak’(4)用SQL语句删除创建的表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验 1 :数据库的定义实验本实验需要 2 学时。
一、实验目的要求学生熟练掌握和使用SQL 、Transact-SQL 、SQLServer 企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收Transact-SQL 语句和进行结果分析。
二、实验内容1)创建数据库和查看数据库属性。
2)创建表、确定表的主码和约束条件,为主码创建索引。
3)查看和修改表结构。
4)熟悉SQL Server 企业管理器和查询分析器工具的使用方法。
三、实验步骤1 .基本操作实验1)、使用企业管理器建立学生_课程数据库。
2)、在企业管理器中查看学生_课程数据库的属性,并进行修改,使之符合要求。
3)、通过企业管理器,在建好的学生_课程数据库中建立学生、课程和选课3 个表,其结构为:学生( 学号,姓名,性别,出生日期,学院,所在系,联系电话) ;课程( 课程号,课程名,教师,开课学期,学时,学分) ;选课( 学号,课程号,成绩) 。
要求为属性选择合适的数据类型,定义每个表的主码,是否允许空值和默认值等列级数据约束。
4)、在企业管理器中建立学生、课程和选课3 个表的表级约束:每个表的主码约束;学生表与课程表间、课程表与选课表之间的外码约束,要求按语义先确定外码约束表达式,再通过操作予以实现;实现选课表的课程号和学号的惟一性约束;实现学生表性别只能是“男”或“女”的Check( 检查) 约束。
2 .提高操作实验1)、用SQL 描述的建立学生—课程库操作,在SQL Server 企业管理器中实现2) 将设计的数据库应用系统中的数据库、库中的表、索引和约束用Transact-SQL 表达,并通过企业管理器或查询分析器实现建库、建表、建立表间联系和建立必要的索引、列级约束和表级约束的操作。
四、实验方法1 .创建数据库(1)、使用企业管理器创建数据库的步骤1)、从“开始”菜单中选择:程序Microsoft SQL Server 2000 企业管理器。
2)、选中需要在其上创建数据库的服务器,单击前面的“ + ”号,使其展示为树形目录。
图3-1 在数据库的弹出菜单中选择新建数据库3)、选中“数据库”文件夹,单击鼠标右键,在弹出菜单上选择“新建数据库”,如图3-1 所示。
随后在数据库属性对话框的常规页面中,输人数据库名,如图3-2 所示。
图3-2 数据库属性对话框数据库属性对话框中有 3 个页面:常规页面、数据文件页面和事务日志页面。
数据文件页面和事务日志页面主要用来定义数据库的数据文件和日志文件的属性。
4)、选择数据文件页面,输入学生_课程数据库的数据文件属性,包括文件名、存放位置和文件属性,如图3-3 所示;再选择事务日志页面,输人数据库的日志文件属性,包括文件名、存放位置、大小和文件属性,如图3-4 所示。
在选择文件位置时,可以单击位于“位置”列的“…”按键,在调出的文件选择器中进行位置选择。
5)、单击[ 确定] 按钮,关闭对话框。
在企业管理器窗口中出现“学生_课程”数据库标志,这表明建库工作已经完成。
图3-3 数据库属性对话框中的数据文件页面图3-4 数据库属性对话框中的事务日志页面(2)、文件属性参数说明文件属性栏设在页面的下部,它包括下列选项:1)、文件自动增长复选框:选中后允许文件放满数据时自动增长。
2)、文件增长单选框:设置允许文件自动增长时,每次文件增长的大小。
其中,选“按兆字节”项为设置文件增长为固定的大小,单位是MB ;选“按百分比”项为文件按指定比例数增长,单位是%。
3)、最大文件大小单选框:设置当允许文件扩展时,数据文件能够增长的最大值。
选“文件增长不受限制”项可使文件无限增长,直到用完磁盘空间;选“将文件增长限制为”项时,要设置文件最多达到的固定值。
2 .查看和修改数据库属性参数已经建好的数据库,有时还需要对它的属性参数进行查看和修改。
下面我们分两步介绍:先介绍查看和修改数据库属性的步骤,再介绍数据库有关的参数及其含义。
(1)、查看和修改数据库属性的步骤1)、启动企业管理器,使数据库所在的服务器展开为树形目录。
2)、选中数据库文件夹,使之展开;用鼠标右键单击指定的数据库标识,在弹出的菜单中选择“属性”项,如图3-5 所示。
出现数据库属性对话框,如图3-6 所示。
图3-5 在企业管理器中选择数据库的“属性”项图3-6 数据库属性对话框中的选项页面从该对话框中可以看出,它由 6 个选项卡构成,与图3-2 不同的是增加了文件组、选项和权限页面。
其中:文件组页面用于设置数据库的文件组,其概念在前面已经介绍过;权限页面用来设置用户对该数据库的访问权限,有关选项页面内容在下面介绍。
3)、在选项卡中查看或修改相应的内容,单击[ 确定] 按钮关闭对话框。
(2)、选项页面中的数据库属性参数“选项”页面如图3-6 所示。
“选项”页面分访问、故障还原、设置和兼容性4 个栏目。
1)、访问栏目。
访问栏用来设置数据库的操作许可。
限制访问复选框:选择后,限制用户访问数据库。
db owner ,dbcreater 或sysadmin 成员:只能由数据库拥有者( 创建者) 使用数据库。
单用户:在同一时刻是否只允许一个用户使用该数据库。
只读:该数据库是否是只读的。
2)、故障还原栏目。
设置故障还原模型。
3)、设置栏目。
该栏目用来设置数据库在进行数据操作时的行为特征,它包括8 个复选框,其含义比较容易理解。
3 .删除数据库对于不需要的数据库,可以通过下面的方法删除:1)、用鼠标右键单击要删除的数据库,在出现的弹出菜单中选择删除项。
2)、在弹出的确认删除对话框中,单击[ 确认] 按钮。
4 .新建表在SQL Server 2000 的数据库中,文件夹是按数据库对象的类型建立的,文件夹名是该数据库对象名。
当在企业管理器中选择服务器和数据库文件夹,并打开已定义好的学生_课程数据库后,会发现它自动设置了关系图、表、视图、存储过程、用户、角色、规则、默认等文件夹。
要建立“学生”表,先选中学生_课程数据库中的表文件夹,单击鼠标右健。
在弹出的菜单中选择新建表,如图3-7 所示。
随后的输入表结构对话框如图3-8 所示。
图3-7 数据库中的表文件夹的弹出菜单图3-8 输入表结构对话框输入表结构对话框是一张表,它的列属性有列名、数据类型、长度和是否允许空 4 项。
用户把新建表的结构填入对话框的表中,表中的每一行定义新建表( 学生) 的一列,每一列定义新建表的一个列属性。
当光标移到表中的某一行时,下面的列描述就会对应当前行显示输入项,用户可在其中对关系的属性进行进一步说明。
列描述包括数据的精度、小数位数、默认值、是否标识等项。
输入表结构时应注意以下几点:1)、“列名”列用于输入字段名,例如“编号”、“类别”等,列名类似于变量名,其命名规格与变量一致。
列名中不允许出现空格,一张表也不允许有重复的列名。
2)、“数据类型”列中的数据类型是通过选择方法,而不是直接键人数据类型字符输入的。
当鼠标指针移向该列时,就会出现控制键,单击后就出现数据类型弹出框,如图3-8 所示,可选择其中之一为指定的数据类型。
3)、“长度”列、精度和小数位数项不是所有字段都必选的。
例如int 和datetime 型的长度是固定的,也不需要数据精度值。
数据精度仅对一些数值型、字符型、货币型等数据有效,小数位仅对一些数值型数据有效。
4)、“允许空”列用于设置是否允许字段为空值,默认项用于设置字段的默认值。
5)、标识、标识种子和标识递增量用于设置字段具有的新生行递增性、初始值以及步长,以便让SQL Server 2000 自动填写该列的值。
具有标识性能的字段的数据类型只能为int ,Smallint ,tinyint,decimal(p ,0) 或numeric(p ,0) ,而且不允许为空值。
一个表只允许有一列具有标识性能。
6)、列名前的一列按钮为字段标注按钮列。
钥匙图标说明这个字段为主码,黑三角图标说明所指示行为当前字段。
7)、在对话框中单击鼠标右键,则会出现一个弹出框,如图3-9 所示。
其中的几个选项非常有用:选择“设置主键”项,则定义当前字段为主码,表中第一列处会显示钥匙图案;选择“插入列”项,则在当前字段处插入一个新行;选择“删除列”项,则删除当前字段;选择“属性”项,可调出表属性对话框,如图3-10 所示,可以在其中定义索引/键、与其他表间的关联和约束等属性,具体方法在下面介绍。
图3-9 建表对话框中的弹出框图3-10 表属性对话框8)、字段输入完后,就可以关闭建表对话框了。
最后,会弹出输入表名对话框,如图3-11 所示。
在对话框中输入“学生”表名,单击[ 确定] 按钮后,建表工作就完成了。
5 .定义表的完整性约束和索引表的约束包括码( 主键) 约束、外码约束( 关联或关系约束) 、唯一性约束、Check( 检查) 约束 4 种。
这些约束可以在表属性对话框中定义。
(1)定义索引和键选择“索引/键”页面,其界面如图3-10 所示。
1)、查看、修改或删除索引时,先要在“选定的索引”下拉菜单中选择索引名,其索引内容就显示在表中。
需要时,可以直接在表中修改索引内容,如改变索引列名,改变排序方法等。
对于不需要的索引可以单击[ 删除] 按钮,直接删除此索引。
2)、新建一个索引时,单击[ 新建] 按钮,并在下面的表中输入索引名、索引列名及排列顺序。
3)、设置UNIQUE 复选框,确定是否为唯一索引约束。
设置CLUSTERED 复选框,确定是否为群集索引(CLUSTERED) 。
(2)定义表间关联选择表页面1)、查看、修改或删除表关联时,先要在“选定的关系”下拉菜单中选择关联名( 即关系名) ,其关联内容就显示在表中。
需要时,可以直接在表中修改关联内容,例如改变主键,改变外码键等。
对于不需要的关联可以单击[ 删除] 按钮,直接删除此关联。
2)、新建一个关联时,单击[ 新建] 按钮,选择库中的关联表( 参照表) 后,在表中输入关联名、主码和外码。
3)、设置“创建中检查现存数据”复选框,确定新建关联时是否对数据进行检查,要求符合外码约束;设置“对复制强制关系”复选框,确定在进行数据复制时是否要符合外码约束;设置“对INSERT 和UPDATE 强制关系”复选框,确认在对数据插入和更新时,是否符合外码约束;设置“级联更新相关的字段”复选框和“级联删除相关的记录”复选框,确认被参照关系的主码值被修改时,是否也将参照表中的对应的外码值修改,而被参照关系的主码值被删除时,是否也将参照表中对应外码的记录删除。
(3)定义CHECK 约束选择CHECK 约束页面1)、查看、修改或删除CHECK 约束时,先要在“选定的约束”下拉菜单中选择约束名,其约束内容就显示在约束表达式框中。