创建数据库表与索引实验
实验(建表及索引

实验三创建数据库和表
一、目的和要求
1.了解表的结构特点。
2.了解SQL Server的基本数据类型。
3.学会在企业管理器中创建表。
4.学会使用T-SQL语句创建数据表。
5. 学会使用T-SQL语句创建索引.
二、实验准备
1.确定数据库包含哪些表以及包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。
2.了解常用的创建表的方法。
3. 了解常用索引的类型及的创建索引的方法。
三、实验步骤
1.数据库分析
(1)在pubs数据库中,添加以下数据表。
(2)数据库YGKQ包含员工的信息和缺勤类型信息,其YGKQ包含下列2个表:
JBQK:员工基本情况表;QQLX:缺勤信息表。
各表的结构见表2.1和表2.2所示:
表2.1 JBQK表结构员工
表2.2 QQLX
各表的数据内容见表2.3和2.4所示:
表2.3 JBQK
表2.4 QQLX
2.在企业管理器中数据表
(1)在企业管理器中分别创建表JBQK和QQLX。
(2)在企业管理器删除创建的JBQK和QQLX表。
(3)在企业管理器中在JBQK表的员工字段建一个唯一性索引. (4)在企业管理器中JBQK表中以员工姓名建一聚簇索引. 3.在查询分析器中创建数据库和数据表
(1)使用T-SQL语句创建JBQK和QQLX表。
(3)使用T-SQL语句在JBQK表的员工字段建一个唯一性索引. (4)使用T-SQL语句在JBQK表中以员工姓名建一聚簇索引.。
数据库索引实验总结

数据库索引实验总结一、实验目的本次实验旨在通过实际操作,深入理解数据库索引的工作原理及优化方法。
通过创建、修改和删除索引,观察查询性能的变化,从而更好地在实际应用中选择和设计合适的索引。
二、实验内容1. 创建索引:在数据库表上创建不同类型的索引,如单列索引、复合索引等。
2. 索引查询性能测试:对带有索引的表进行查询,观察查询性能的提升。
3. 索引维护:更新、删除索引,观察其对查询性能的影响。
4. 索引优化:根据查询需求,优化索引设计,提高查询效率。
三、实验过程1. 创建索引:选择合适的表和列,创建单列索引和复合索引。
使用相应的SQL语句,例如`CREATE INDEX index_name ON table_name (column_name);`。
2. 查询性能测试:使用SELECT语句对带有索引的表进行查询,并记录查询时间。
与未带索引的表查询时间进行对比,观察查询性能的提升。
3. 索引维护:更新、删除索引,观察查询性能的变化。
例如,使用`ALTER TABLE table_name DROP INDEX index_name;`删除索引。
4. 索引优化:根据查询需求和数据量,调整索引设计。
例如,添加或删除列、调整索引类型等。
观察优化后的查询性能。
四、实验结果通过实验,我们发现创建索引可以有效提高查询性能。
单列索引适用于在某列上频繁进行查询的情况,而复合索引适用于多列同时进行查询的情况。
同时,我们也发现不合理的索引设计可能会降低性能,因此需要根据实际需求进行优化。
五、实验总结通过本次实验,我们深入了解了数据库索引的工作原理及优化方法。
在实际应用中,应根据查询需求和数据量合理选择和设计索引,以提高数据库的查询效率。
同时,需要注意避免过度索引和不合理的设计,以免降低数据库性能。
数据库实验2 创建数据库表与索引

使用企业管理器和Transact-SQL语句创建“课程信息表”、“教学任务表”、“教师档案表”、“学生档案表”、“学生选课表”、“学生成绩表”6张表,各表的逻辑结构如P36表3.1、表3.2、表3.3、表3.4、表3.5、表3.6。且各表之间的逻辑依赖关系如图3.1。并对关系表进行管理。具体内容如下。
ALTER TABLE student ADD matriculationday smalldatetime NULL
Constraint adddateflt default getdate()
3)、利用Transact_SQL语句删除表
可以用Transact_SQL语句DROP删除表的定义及表中所有的数据、索引、触发器、约束和权限规范。如果要删除表,语法为:
DROP TABLE table_name
例4删除当前连接的数据库中的一个名为tal的表格和删除pubs数据库中的example的表格。
DROP TABLE tal
DROP TABLE pubs.dbo.example
注意:删除表格的权利只属于表格的拥有者,并且不能转移,不能使用DROP TABLE语句删除系统表
sdept char(20) NULL
)
首先创建数据库test
CREATE DATABASE test
ON PRIMARY
(NAME=student1_dat,
FILENAME='e:\jsj1\test\student1_dat.mdf',
SIZE=10,
MAXSIZE=50,
FILEGROWTH=20%)
3.1在“教学管理”数据库中使用Transact-SQL命令创建表
使用Transact-SQL命令创建“学生档案表”、“课程信息表”、“教学任务表”。
创建索引实验报告

一、实验目的1. 理解索引的概念和作用。
2. 掌握在数据库中创建索引的方法。
3. 了解不同类型索引的特点和适用场景。
4. 分析索引对数据库性能的影响。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 数据库:MySQL自带的test数据库三、实验内容1. 创建索引2. 查看索引信息3. 删除索引4. 比较索引对查询性能的影响四、实验步骤1. 创建索引(1)登录MySQL数据库,进入test数据库。
```mysql -u root -p```(2)选择test数据库。
```USE test;```(3)创建一个表,并插入一些数据。
```CREATE TABLE students (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50),age INT,gender CHAR(1));INSERT INTO students (name, age, gender) VALUES ('张三', 20, '男'); INSERT INTO students (name, age, gender) VALUES ('李四', 21, '男'); INSERT INTO students (name, age, gender) VALUES ('王五', 22, '男'); INSERT INTO students (name, age, gender) VALUES ('赵六', 23, '男'); ```(4)在students表的name字段上创建索引。
```CREATE INDEX idx_name ON students (name);```2. 查看索引信息(1)查看test数据库中的索引信息。
实验9创建和使用索引

实验9:创建和使用索引一、目的与要求1、熟悉SQL Server 2000索引管理器。
2、掌握索引的创建和使用。
3、掌握对索引的优化操作。
二、实验内容1、启动SQL Server 2000 企业管理器环境。
2、使用索引管理器为XS_KC表创建索引IX_XS_KC。
3、使用强制索引查询数据。
4、使用索引优化向导优化索引。
三、实验步骤1、使用索引管理器为XS_KC表创建索引IX_XS_KC。
①进入“企业管理器”环境,选择数据库(XSCJ)中的表“XS_KC”;②在“所有任务”选择“管理索引”③选择“新建”,进入下图,并进行如下的选择:④保存。
2、强制使用刚才创建的索引查询数据1)进入“查询分析器”环境。
2)强制使用IX_XS_KC索引查询所有课程的及格成绩记录。
3)在查询窗口中输入下列代码:Select 学号,课程号,成绩From xs_kcWith(index(IX_XS_KC))Where 成绩>=603、使用索引优化向导优化索引1)进入“事件探测器”环境。
2)选择“文件”中的“跟踪”3)设置跟踪名为“INDEX_TRSCE”,并选择“另存为文件”项,把跟踪保存为负荷文件INDEX_TRSCE.trc,然后单击“运行”开始跟踪。
4)切换到“查询分析器”环境,输入如下语句:Select a.学号,a.姓名,c.课程名,d.成绩,a.联系电话From xsqk a inner join xsqk b on a.联系电话=b.联系电话And a.学号!=b.学号,KC c,xs_kc dWhere a.学号=d.学号and d.课程号=c.课程号--该语句用于查询在XSQK表中显示住在同一寝室(即联系电话相同)的学生的所有成绩记录。
5)回到“事件探查器”窗口,单击“暂停”按钮,如下图:其中主要列的含义如下:①CPU列:表示查询所占用的CPU时间,单位为毫秒。
②Duration列:表示查询执行的时间,单位为毫秒。
实验2创建数据库、表、索引

允许空值 不选 选中 选中 选中
备注 主键
外键 只能取1,2,3,4
❖创建方式同student
❖ 单击“添加”按钮,然后单击“表和列规范”及其后面的 按钮,输入如下图详细信息。
设置外键
❖ 单击 “表设计器”菜单,选择“关系”,打开下图。
设置自定义的约束
❖单击 “表设计器”菜单,选择“check约束”,打 开下图,单击添加,在打开的窗口里输入表达式。
❖ 要求:
使用SQL Server Management Studio创建数据库 使用T-SQL删除数据库
创建架构
❖ 一个用户可以有多个架构,但是只能有一个默认 架构。如果没有指定用户的默认架构,则用户的 默认架构为dbo。
❖ 试验要求: 创建架构students ,架构的所有者为默认的dbo
(按课程号升序建唯一索引)
属性 索引名称 索引类型 唯一性
值 coucno 非聚集 选中
设置索引
sc表scno索引的设置
(按学号升序和课程号降序建唯一索引)
ห้องสมุดไป่ตู้
属性 索引名称 索引类型 唯一性
值 scno 非聚集 选中
❖ 同样在新的空白查询窗口中,键入以下 TransactSQL 代码,创建sc表。
USE educ CREATE TABLE students.sc (
sno char(9), cno char(4), grade smallint, PRIMARY KEY(sno,cno), FOREIGN KEY(cno) REFERENCES students.course(cno), FOREIGN KEY(sno) REFERENCES students.student(sno) )
实验二 表及索引的创建(新)

二、实验内容及要求 实验数据库名为jxgl,实验所用的表结构如下: ,实验所用的表结构如下: 实验数据库名为 (1) dept(系表 系表)( 系表 Deptno (系编号 CHAR(8) PRIMARY KEY 系编号 Deptname(系名称 varCHAR(20) unique 系名称) 系名称 Dpho (电话号码 CHAR(12) 只能取数字 电话号码) 电话号码 Deptadd 系办公地点 CHAR(40)) )
2、在企业管理器中完成以下内容: 、在企业管理器中完成以下内容: (1)在课程表的课程名上建立一个普通索引。 )在课程表的课程名上建立一个普通索引。 (2)在两个表中录入数据,分析数据完整性的作用。 )在两个表中录入数据,分析数据完整性的作用。 (需设计满足和不满足完整性约束的两个以上记录) 需设计满足和不满足完整性约束的两个以上记录) 三、本次实验的重点及难点: 本次实验的重点及难点: 重点: 语句定义表结构( 重点:用SQL语句定义表结构(创建、修改和删除) 语句定义表结构 创建、修改和删除) 难点:完整性约束的定义、 难点:完整性约束的定义、增加及删除
实验二: 实验二:建立数据库和建表 一、实验目的
1、学会使用SQL语句创建数据库和表 、学会使用 语句创建数据库和表 2、学会使用SQL 语句增加、修改和删除字段, 、学会使用 语句增加、修改和删除字段, 增加和删除完整性约束, 增加和删除完整性约束,加深对完整性概念 的理解,达到灵活应用的目的。 的理解,达到灵活应用的目的。 3、学会使用SQL 语句创建、删除索引 、学会使用 语句创建、
1、在查询分析器下完成以下内容: 、在查询分析器下完成以下内容: (1)创建数据库 )创建数据库jxgl (2)创建上述五个表,同时需定义出各个表所给定的 )创建上述五个表, 完整性约束规则。 完整性约束规则。 命令修改表结构: (3)用alter命令修改表结构: ) 命令修改表结构 A、在学生表中增加一个“联系电话”字段。 、在学生表中增加一个“联系电话”字段。 B、增加约束:“学分” 只能取 ,2,3,4}。 、增加约束: 学分” 只能取{1, , , 。 C、增加约束:学分的缺省值为 。 、增加约束:学分的缺省值为3 D、增加约束:学生表和成绩表的“学号”前两 、增加约束:学生表和成绩表的“学号” 位 为 “20”,第三位与第四位必须为数字。 ,第三位与第四位必须为数字。
实验二 创建数据库和表 实验报告

实验2 创建数据库和表实验报告一.实验名称:创建数据库和表二.目的和要求:(1)了解SQL Server数据库的逻辑结构和物理结构。
(2)了解表的结构特点。
(3)了解SQL Server 的基本数据类型。
(4)了解空值概念。
(5)学会使用T-SQL语句创建数据库和表.。
三.实验准备首先要明确,能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。
其次创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小(最初的大小、最大的大小、是否允许增长及增长方式)和存储数据库的文件。
然后,确定数据库包含哪些表,以及所包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。
此外还要了解使用T-SQL语句创建数据库、表的方法。
四.实验时间:2011年4月7日五.实验设备和实验环境:(1) PC机。
(2) SQL Server 2000。
六.实验内容:1、实验题目创建用于学校管理的学生-课程数据库,数据库名为“DB_自己的学号”,包含学生的信息、课程的信息以及学生选修的信息,即数据库中包含下列3个表:(l)Student:学生信息表。
(2)Course:课程信息表。
(3)Sc:选修情况表。
2.实验步骤(1)使用T-SQL语句创建数据库按照上述要求创建学生-课程数据库。
启动查询分析器→在“查询”窗口中输人创建数据库的T-SQL语句。
单击快捷工具栏的执行图标执行上述语句,并查看执行结果(也可在企业管理器中查看)。
打开查询分析器,在工作区域输入 create database DB_0921121010创建一个以自己学号为名的库,结果如图(1)所示:图(1)(2)使用T-SQL语句在所创建的数据库中创建Student、Course和Sc表。
单击快捷工具栏的执行图标执行上述语句,并查看执行结果(也可在企业管理器中查看)。
在创建好的名为DB_0921121010数据库中创建student、course和sc表操作如下:在工作区域输入create table Student(Sno char(10) not null unique,Sname char(8) not null,Ssex char(2) not null,Sage int,Sdept char(8) not null);Select *from student创建student表,结果如图(2)所示:图(2)在工作区域输入create table Course(Cno char(2) not null,Cname char(20) not null unique,Cpno char(2) null,Ccredit int);Select *from course创建course表,结果如图(3)所示:图(3)在工作区域输入create table SC(Sno char(10) not null unique,Cno char(2) not null,Grade int);Select *from sc创建sc表,结果如图(4)所示:图(4)七.实验总结:1.通过此次的实验操作学会了使用SQL语句创建简单的数据库和表,并且熟悉了查询分析器的工作界面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验2:创建数据库表与索引----表的创建与管理1.实验目的:掌握表和索引的建立方法及表结构的修改方法,了解表关系建立的条件和作用,并实践数据库管理系统提供的数据完整性功能,加深对数据完整性的理解。
要求建立表、修改表结构、建立索引、进行数据完整性描述。
2.实验要求:⑴在已经建立的数据库中创建表运用Microsoft SQL Server2000企业管理器和Transact-SQL语句两种方法建立“课程信息表”、“教学任务表”、“教师档案表”、“学生档案表”、“学生选课表”、“学生成绩表”。
⑵了解表与表之间的逻辑依赖关系学会在Microsoft SQL Server2000企业管理器中,创建表之间的关联关系,通过外键的拖曳建立表的基本依赖关系,从而直白的表达整个数据库的表间联系,但是,注意:过程中,主键与外键对应的源数据表。
⑶修改表结构将学生档案表“”字段的数据类型修改为varchar(8)。
为学生成绩表增减一个新的字段——“总成绩”,类型为real,默认是空值。
学生成绩表“平时成绩”字段的取值为小于100的正数。
⑷建立索引运用Transact—SQL语句建立以下索引:◆在学生档案表的“”字段上建立普通升序索引;◆在学生档案表的“学号”字段上建立唯一索引;◆在学生档案表的“学号”字段上建立聚集索引;◆在学生档案表的“学号”(升序)、“”(升序)和“籍贯”(升序)三个字段上建立一个普通索引;◆运用SQL企业管理器在学生档案表中的“籍贯”字段上创建普通升序索引。
3.实验环境与实验器材:计算机,网络环境,投影设备。
实验相关软件:Window xp、SQL Server 2000。
4.实验容与步骤使用企业管理器和Transact-SQL语句创建“课程信息表”、“教学任务表”、“教师档案表”、“学生档案表”、“学生选课表”、“学生成绩表”6表,6表的具体设计容:“课程信息表”包括课程名称、课程类别、学分和学时等;“教师档案表”和“学生档案表”记录了教师和学生的基本情况;“教学任务表”包括课程ID、任课教师ID、学期和年度;“学生选课表”给出了学生与课程之间的关系;“学生成绩表”则给出了学生成绩的计算方法。
4.1 在“教学管理”数据库中使用Transact-SQL命令创建表使用Transact-SQL命令创建“学生档案表”,包含字段“学号”、“”、“性别”、“出生日期”、“籍贯”、“专业”、“班级”。
第1步:从“开始”菜单中打开“查询分析器”,连接进入“查询”窗口。
第2步:在“查询”窗口中,创建指定数据文件和事务日志文件的“教学管理”数据库,要注意这两个文件路径所需的文件夹应先创建好,不然会有错误提示。
⑴在“教学管理”数据库中使用Transact-SQL命令创建表①创建“学生档案表”第1步:在“查询分析器”窗口的上部,选择“教学管理”数据库。
并在查询框中输入建立“学生档案表”的命令:create table 学生档案(学号 char(8)primary keyCheck(学号like('[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')),varchar(8) not null,性别 char(8),出生日期 datetime check(出生日期>='1970'),籍贯 char(8),专业 char(8),班级 char(8))第2步:执行该命令,出现如下窗口:第3步:刷新“SQL查询分析器”界面左边的“对象浏览器”中的“教学管理”数据库,这时在“教学管理”数据库的“用户表”中可以看到新建的“学生档案表”②创建“教师档案表”第1步:输入建立“教师档案表”的命令,如下:create table 教师档案表(任课教师ID char(8)primary keycheck(任课教师ID like('[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')), varchar(8) not null,性别 char(8),check(性别='M'or 性别='F'),职称 varchar(8),单位 varchar(20))第2步:执行,结果如下:第3步:刷新,查看表:③创建“教学任务表”第1步:输入建立“教学任务表”的命令,执行第2步:刷新,查看表④创建“课程信息表”第1步:输入建立“课程信息表”的命令,执行:第2步:刷新,查看表⑤创建“学生选课表”第1步:输入建立“学生选课表”的命令,执行第2步:刷新,查看表⑥创建“学生成绩表”第1步:输入建立“学生成绩表”的命令,执行第2步:刷新,查看表3.2 在“教学管理”数据库中使用企业管理器创建表使用SQL企业管理器创建“教师档案表”,如图示:3.3 修改表的结构3.3.1 修改数据类型1)将“学生档案表”中的“”字段的数据类型改为varchar(8),则命令如下:alter table 学生档案alter column varchar(8)2)将“课程信息表”中的“课程名称”字段的数据类型改为varchar(50),则命令如下:alter table 课程信息alter column 课程名称 varchar(50)第1步:打开“SQL查询分析器”并连接,输入对表结构修改的命令,如图:第2步:执行,查看结果:3.3.2增加一个新字段1)为“学生成绩表”增加一个新字段“总成绩”,类型为real,默认是空值,命令如下:alter table 学生成绩add 总成绩 real default null2)为“教学任务表”增加一个新字段“教师”,类型为varchar(8),默认是空值命令如下:alter table 教学任务add 教师 varchar(8)default null第1步:打开“SQL查询分析器”并连接,输入对表结构修改的命令,如图:第2步:执行,查看结果:3.3.3增加约束条件1)为“学生成绩表”增加一个约束,“平时成绩”字段的取值为大于等于0小于等于100的正数命令如下:alter table 学生成绩add constraint shuliang1 check(平时成绩>=0 and 平时成绩<=100) 2)为“教学任务表”中的“年度”添加约束条件,使得年度大于2000年,命令如下:alter table 教学任务add constraint shuliang2 check(年度>2000)第1步:打开“SQL查询分析器”并连接,输入对表结构修改的命令,如图:第2步:执行,查看结果:3.4 使用Transact-SQL命令创建索引3.4.1 在“学生档案表”的“”字段上建立普通升序索引;3.4.2 在“学生档案表”的“学号”字段上建立唯一索引;3.4.3 在“学生档案表”的“学号”(升序)、“”(升序)、和“籍贯”(降序)三个字段上建立普通索引;3.4.4 在“学生成绩表”的“学号”字段上建立聚集索引;3.4.5 在“教学任务表”的“任课教师ID”字段上创建名为“任课教师ID索引”的唯一索引;在“教师档案表”中的“教师ID”(降序)、“”(升序)、“职称”(升序)三个字段上建立一个普通索引。
第1步:打开“SQL查询分析器”并连接,输入创建索引的命令,代码如下:create index 索引 on 学生档案()create unique index 学号索引 on 学生档案(学号)create index 多列索引 on 学生档案(学号,,籍贯desc)create clustered index 学号索引 on学生成绩(学号)create unique index 任课教师ID索引 on 教学任务(任课教师ID) create index 多列索引 on 教师档案(学号教师IDdesc,,职称)第2步:执行,查看结果:第3步:索引创建成功,在对象浏览器中的“教学管理”数据库下,可以看到刚创建的“索引”“学号索引”“多列索引”,如图:3.5 使用SQL企业管理器创建索引3.5.1 使用SQL企业管理器在“学生档案表”中的“籍贯”字段上创建普通升序索引。
第1步:打开“企业管理器”,在“控制台根目录”中,,点开“教学管理”数据库中的表,如图:第2步:在“学生档案”上单击右键,选择“所有任务”→“管理索引”,弹出如下窗口:第3步:单击“新建”,出现“新建索引”对话框,输入索引名“籍贯索引”,选择索引列“籍贯”,如图:第4步:单击“确定”,返回“管理索引”,如图:3.5.2使用SQL企业管理器在“课程信息表”上创建“课程ID”唯一索引。
步骤如下:打开“企业管理器”,在“控制台根目录”中,,点开“教学管理”数据库中的表,使用SQL企业管理器在“课程信息表”上创建“课程ID”唯一索引。
步骤如下:打开“企业管理器”,在“控制台根目录”中,,点开“教学管理”数据库中的表,在“课程信息”上单击右键,选择“所有任务”→“管理索引”,弹出如下窗口:单击“新建”,出现“新建索引”对话框,输入索引名“课程ID索引”,选择索引列“课程ID”,如图:单击“确定”,返回“管理索引”,如图:即可。
3.6 创建数据库表之间的关系图第1步:在企业管理器的“控制台根目录”中,单击左端“+”号层层展开,直到在屏幕上看到数据库下的各个数据库,点开“教学管理”数据库,看到该数据库下的子项。
如图:第2步:在“关系图”子项上,单击右键,选择“新建数据库关系图”,如图:第3步:单击“下一步”,之后添加6表到右边的文本框中:第4步:单击“下一步”,单击“完成”5.思考与总结这次实验主要使用Transact-SQL语句在查询分析器中实现表和索引的创建,还有表的修改,通过实验对相应的SQL语句有了更深的了解和学习。
在命令语句的输入中,对每一个语句都应该仔细输入,做到没有遗漏;在遇到错误提示时,应学会通过尝试修改语句来寻找错误之处,思考错误的原因,结合课本所学知识进行对比,这样才能对SQL语句有更深的认识。