实验二表及索引的创建

合集下载

实验(建表及索引

实验(建表及索引

实验三创建数据库和表
一、目的和要求
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表中以员工姓名建一聚簇索引.。

数据库实验2 创建数据库表与索引

数据库实验2 创建数据库表与索引
3.实验内容与步骤
使用企业管理器和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命令创建“学生档案表”、“课程信息表”、“教学任务表”。

数据表格的索引建立方法

数据表格的索引建立方法

数据表格的索引建立方法索引是数据库中提高查询效率的重要手段之一,它可以加快数据的检索速度,减少数据库的IO操作。

在数据表格中建立索引可以大大提高查询性能,特别是对于大型数据表格来说。

下面是关于数据表格索引建立方法的详细内容:1. 选择合适的字段进行索引:索引的目的是提高查询效率,因此应该选择那些经常被查询的字段进行索引。

通常来说,主键、外键、经常用于查询条件的字段都是比较适合建立索引的字段。

2. 考虑索引的选择性:索引的选择性是指索引列中不同值的个数与总行数的比值。

选择性越高,索引的效果越好。

因此,在建立索引时应该选择那些选择性较高的字段,避免对一些选择性较低的字段进行索引。

3. 使用复合索引:如果查询条件中涉及多个字段,可以考虑使用复合索引。

复合索引是指对多个字段进行索引,可以提高多字段组合查询的效率。

但是需要注意的是,复合索引的顺序要根据查询条件的频率进行选择。

4. 避免过多的索引:虽然索引可以提高查询效率,但是过多的索引也会增加数据库的维护成本。

因此,在建立索引时要避免过多的索引,只建立那些经常被查询的字段的索引。

5. 定期维护索引:索引需要定期进行维护,包括索引的重建、优化等。

当数据表格中的数据发生变化时,索引也需要相应地进行更新。

定期维护索引可以保证索引的有效性,提高查询效率。

6. 使用合适的索引类型:不同的数据库支持不同的索引类型,如B树索引、哈希索引、全文索引等。

在建立索引时需要根据实际情况选择合适的索引类型。

总结起来,建立数据表格索引的方法包括选择合适的字段进行索引、考虑索引的选择性、使用复合索引、避免过多的索引、定期维护索引和使用合适的索引类型等。

这些方法可以帮助提高数据库的查询效率,提升系统的性能。

创建索引实验报告

创建索引实验报告

一、实验目的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数据库中的索引信息。

索引的创建和使用

索引的创建和使用

索引的创建和使用一、介绍索引(Index)是数据库中用于快速查找和访问数据的数据结构。

它类似于书籍的目录,可以帮助我们快速定位到需要的信息。

在数据库中,索引通常是在表中的一个或多个列上创建的,以提高查询效率。

本文将介绍索引的创建和使用方法,帮助读者更好地理解和应用索引。

二、索引的创建在数据库中创建索引可以大大提高查询效率,尤其是对于大型数据表而言。

索引的创建可以通过以下步骤实现:1. 选择需要创建索引的表和列:根据查询的需求,选择适合创建索引的表和列。

通常来说,经常被用于查询和筛选的列是创建索引的首选。

2. 判断索引类型:根据查询需求和数据类型,选择适合的索引类型。

常见的索引类型包括B树索引、哈希索引等。

3. 创建索引语句:使用数据库的特定语法,创建索引的语句。

不同的数据库系统可能有不同的语法,需要根据具体情况进行调整。

4. 执行创建索引语句:在数据库管理工具中执行创建索引的语句,等待索引的创建完成。

三、索引的使用索引的创建完成后,我们可以通过以下方式使用索引提高查询效率:1. 查询语句中使用索引:在编写查询语句时,使用索引所在的列进行条件筛选,可以提高查询效率。

例如,使用WHERE子句中的索引列进行筛选。

2. 索引的覆盖查询:当我们需要查询的列都包含在索引中时,可以进行索引的覆盖查询,避免了读取磁盘上的数据行,从而提高查询性能。

3. 避免使用索引的列进行计算:如果在查询语句中需要对索引列进行计算,会导致索引无法使用。

因此,在查询语句中尽量避免对索引列进行计算操作。

4. 维护索引的更新:当对表中的数据进行插入、更新或删除操作时,需要及时更新索引,保证索引的完整性和准确性。

5. 定期重建索引:为了保持索引的性能和效率,定期对索引进行重建是很有必要的。

可以根据数据库的使用情况和索引的使用频率,选择合适的时间进行重建操作。

四、索引的优缺点索引的创建和使用可以提高数据库的查询效率,但同时也存在一些优缺点需要注意:1. 优点:- 提高查询效率:使用索引可以快速定位到需要的数据,减少了磁盘I/O的次数,提高了查询效率。

数据库原理实验报告

数据库原理实验报告

计算机与信息学院数据库原理实验报告专业:计算机科学与技术班级:2012级本科班学号:07173姓名:指导教师:2014年06月18 日实验项目列表计算机与信息学院实验报告纸实验一数据库创建与管理一、实验目的与要求1、熟练掌握SSMS中界面方式创建和管理数据库。

2、熟练掌握SSMS查询编辑器T-SQL语句创建和管理数据库。

3、熟练掌握备份和还原数据库。

二、实验内容1、界面方式创建和管理数据库(1)创建数据库(2)修改数据库(3)删除数据库2、利用企业管理器备份和还原数据库(1)备份数据库(2)还原数据库3、T-SQL语句方式创建和管理数据库(1)创建SPJ数据库:在SSMS中“新建查询”,输入以下语句并运行CREATE DATABASE SPJON(NAME=’SPJ_Data’,FELENAME='C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Data.MDF' ,SIZE = 3,MAXSIZE = 10,FILEGROWTH = 10%)LOG ON(NAME = 'SPJ_Log', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Log.LDF' ,SIZE = 1,FILEGROWTH = 10%)(2)修改SPJ数据库:在查询分析器中输入以下语句并运行ALTER DATABASE SPJMODIFY FILE(NAME='SPJ_Data',SIZE=4,ALTER DATABASE SPJADD FILE(NAME='SPJ_Data_2', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SPJ_Date_2.ndf',SIZE=1,MAXSIZE=10,FILEGROWTH=10%)(3)删除SPJ数据库:DROP DATABASE SPJ4、界面方式创建数据库XSBOOK,写出操作过程。

索引的创建和使用

索引的创建和使用

索引的创建和使用索引是数据库中一个非常重要的概念,它能够提高数据库的查询效率。

本文将介绍索引的创建和使用,以及一些相关的注意事项。

一、什么是索引索引是数据库中用于加快数据检索速度的一种数据结构。

它类似于书籍的目录,能够帮助我们快速找到需要的数据。

二、索引的创建在数据库中,我们可以通过创建索引来提高查询效率。

索引可以在表的一个或多个列上创建,用于加速对这些列的查询操作。

创建索引的语法如下:CREATE INDEX index_name ON table_name (column1, column2, ...);其中,index_name是索引的名称,table_name是要创建索引的表名,column1, column2等是要创建索引的列名。

需要注意的是,索引的创建会占用一定的存储空间,并且在插入、更新和删除数据时会稍微降低写入性能。

因此,我们需要根据实际情况来决定是否创建索引。

三、索引的使用索引的使用可以通过查询语句的优化来实现。

当我们执行一个查询语句时,数据库会根据查询条件选择合适的索引来加速查询。

例如,我们有一个用户表,其中包含了用户的姓名、年龄、性别等信息。

如果我们想查询年龄在20到30岁之间的用户,可以使用如下的查询语句:SELECT * FROM user WHERE age >= 20 AND age <= 30;如果我们在年龄列上创建了索引,数据库就可以利用索引来快速定位符合条件的数据,而不需要扫描整个表。

四、索引的注意事项1. 索引的选择:在选择创建索引的列时,应该选择那些经常被查询的列,而不是选择那些很少被查询的列。

这样可以最大程度地提高查询效率。

2. 索引的命名:索引的命名应该具有描述性,能够清晰地表达索引的用途。

这样可以方便后续的维护和管理工作。

3. 索引的定期维护:随着数据的插入、更新和删除,索引会变得不再准确。

因此,我们需要定期对索引进行重建或重新统计,以保证索引的有效性。

数据库实验二

数据库实验二

实验二数据定义一、实验目的1、掌握使用SQL语句创建和删除数据库;2、掌握使用SQL语句创建和删除数据表,创建各种完整性约束,修改表的结构;3、掌握索引的创建和删除方法。

二、实验过程(一)数据库的建立使用CREATE DA TABASE语句创建名为“gongcheng”的数据库。

create database gongcheng(二)数据表的操作1.建立数据表在创建的“gongcheng”数据库中使用SQL语句建立4个关系(可参考课本P74习题5),如下:供应商表S (Sno,Sname,Status,Ctiy)零件表P(Pno,Pname,Color,Weight)工程项目表J(Jno,Jname,City)供应情况表SPJ(Sno,Pno,Jno,QTY)要求:(1)创建每个关系的主键,有外键的创建外键。

(2)S表中的Sname属性列的取值唯一(3)P表中weight属性列的取值范围在1-50之间(4)J表中的Jname取值不能为空并且是唯一的(5)SPJ表中QTY属性列的数据类型必须为int建立供应商表Screate table S(Sno varchar(8)primary key,Sname varchar(20)unique,Status int,City varchar(20))建立零件表Pcreate table P(Pno varchar(8)primary key,Pname varchar(20),Color varchar(4),Weight int check(Weight>=1 and Weight<=50))建立工程项目表Jcreate table J(Jno varchar(8)primary key,Jname varchar(20)unique not null,City varchar(20))建立供应情况表SPJcreate table SPJ(Sno varchar(8),Pno varchar(8),Jno varchar(8),QTY int,primary key(Sno,Pno,Jno),foreign key(Sno)references S(Sno),foreign key(Pno)references P(Pno),foreign key(Jno)references J(Jno))2.修改表的结构用SQL语句完成以下操作:(1)给S表增加Sphone和Semail两个属性列,分别用来存放供应商的联系电话和电子信箱。

实验二 表的排序与索引题目14

实验二  表的排序与索引题目14

实验二表的排序与索引一、实验目的1.掌握表中数据的确良拜拜是序与索引,数据记录顺序查询和索引查询。

2.掌握表的数据求和、求平均值、统计和分类汇总等操作。

二、实验准备1.排序的概念。

2.索引的概念、索引的类型和索引文件的创建与使用。

3.表的统计命令(COUNT,SUM,A VERAGE,CALAULATE,TOTAL)。

4.记录的索引和查询命令(LOCATE,CONTINUE,SEEK,FIND)。

三、实验内容利用实验一建立的表文件(student.dbf)完成下列操作:1.建立一个结构化复合索引文件,其中包括两个索引标识:(1)记录以学号降序排列,索引标识名为xhd。

(以下四个标识建立后均可用list或BROWSE命令显示索引后的输出结果)(2)记录以姓名升序排列,标识名为xm。

(3)记录以出生年月降序排列,标识名为srd。

(4)记录以姓名升序排列,姓名相同时则按出生年月升序排列,标识名为xmsr。

2.对第4步建立的索引标识,测试FIND、SEEK命令的用法(注:以下每小题做前都需要先执行set index to tag <标识名>命令选定相应的索引标识为控制索引后再用find或seek,):(1)按学号查询:分别用FIND命令和SEEK命令查询某一学号的学生记录,并用display显示之,比较二命令的不同;用?found()命令显示该函数的值,理解该函数。

工作步骤:set index to tag xhdlistfind “111111”?found()Display(2)按姓名查询:分别用FIND命令和SEEK命令查询某一学生的姓名的学生记录,比较二者的不同用法;用?found()命令显示该函数的值,理解该函数。

(3)按出生年月查询:分别用FIND命令和SEEK命令查询某一学生的出生年月的学生记录,比较二者的不同用法;用?found()命令显示该函数的值,理解该函数。

(4)首先按姓名,当姓名相同时按出生年月查询:分别用FIND命令和SEEK命令查询某一学生的姓名与出生年月,比较二者的不同用法;用?found()命令显示该函数的值,理解该函数。

vf实习2-表的创建与使用

vf实习2-表的创建与使用

实习2 表的创建与使用一、实习目的掌握创建表的方法,掌握给表输入数据的操作,能够对表进行显示、修改和追回记录等操作。

二、实习要求1. 创建不同结构的表2. 给表输入数据3. 修改表中的数据4. 浏览表中的数据 三、实习内容实习2-1 创建“学院表” “学院表”结构如下:学院表(学院编号 C(1) 主索引,学院名称 C(12),院长 C(6),电话 C(13),地址 C(6)) 方法一: 用菜单方式创建“学院表” 1. 选择“文件”菜单中的“新建”命令2. 在“新建”对话框中选择“表”,单击“新建文件”按钮,打开“创建”对话框如下图所示。

3. 输入要保存的表文件名“学院表”,注意观察默认的扩展名。

4. 单击“保存”,打开“表设计器”对话框框,在“表设计器”对话框中,逐一定义表中所有字段的名称、类型、宽度和索引,如下图所示。

5.当表中所有字段的属性定义完成后,单击“确定”按钮,出现下列提示信息。

6.单击“否”命令按钮,则完成“学院表”的创建。

方法二:在“项目管理器”对话框中创建“系表”“系表”结构如下:系表(系编号C(4) 主索引,系名称C(20),系主任C(6),教研室个数N(2),班级个数N(2),学院编号C(4))1.在VFP中选择“文件”菜单中的“打开”命令,打开“打开”对话框如下图所示。

2.在“打开”对话框中,选择打开的项目文件“河南工程学院.pjx”,单击“确定”按钮,打开“项目管理器”对话框如下图所示。

3.在项目管理器中选择“数据”选项卡,单击选择“自由表”,再单击“新建”按钮,打开“新建表”对话框如下图所示。

4.单击“新建表”按钮,在“创建”对话框中输入要建立的表名“系表”,单击“保存”按钮,打开“表设计器”对话框。

6.在“表设计器”对话框中,逐一定义表中所有字段的名称、类型、宽度和索引,如下图所示。

7.单击“确定”按钮,结束“系表”结构的创建。

方法三:用命令方式创建“学生表”学生表的结构如下:学生表(学号C(8) 主索引,姓名C(6),性别C(2),出生年月D,籍贯C(20),班级编号C(7),普通索引)1.在命令窗口输入:create table 学生表(学号C(6) primary key,姓名C(6),性别C(2),出生年月D,籍贯C(20,班级编号C(7))2.打回车3.在“命令”窗口中,执行如下命令:Use 学生表exclusiveModify structure打开“表设计器”对话框如下图所示,从图中可以直观地看到“学生表”的表结构。

索引的创建和使用

索引的创建和使用

索引的创建和使用以索引的创建和使用为标题,我将为大家介绍索引的概念、创建和使用的方法以及索引在不同领域中的应用。

一、索引的概念索引是一种用于快速定位和访问数据的数据结构。

它通过存储数据的关键字和对应的位置信息,提供了一种高效的查找方式。

索引可以加快数据的查询速度,并减少系统的IO开销。

二、索引的创建方法1. 索引的创建需要选择合适的字段作为索引列。

一般来说,选择经常被查询的字段作为索引列可以提高查询效率。

2. 在关系型数据库中,可以使用CREATE INDEX语句创建索引。

CREATE INDEX语句需要指定索引的名称、表名和索引列等信息。

3. 创建索引时,还可以选择索引的类型。

常见的索引类型包括B树索引、哈希索引和全文索引等。

三、索引的使用方法1. 数据查询时,可以通过WHERE语句指定查询条件,包括索引列和非索引列。

查询引擎会使用索引来加速查询过程。

2. 索引可以提供快速的等值查询和范围查询。

对于范围查询,索引可以按照索引列的顺序进行检索,加快数据的访问速度。

3. 索引的使用还可以通过ORDER BY语句实现排序操作。

索引可以按照指定的排序顺序存储数据,减少排序的时间和开销。

四、索引在不同领域中的应用1. 在数据库领域,索引是关系型数据库中重要的性能优化手段。

通过创建和使用索引,可以加快数据的查询速度,提高数据库的响应性能。

2. 在搜索引擎领域,索引是实现快速搜索的关键。

搜索引擎会建立庞大的索引库,根据用户的搜索关键字快速匹配和返回相关的搜索结果。

3. 在文件系统领域,索引可以提供快速的文件查找和访问。

操作系统会维护文件系统的索引结构,方便用户快速定位和访问文件。

4. 在图书馆管理领域,索引是图书馆分类和检索的基础。

图书馆会建立图书的索引目录,帮助读者快速找到需要的图书。

索引是一种用于快速定位和访问数据的数据结构,可以提高查询效率和减少系统的IO开销。

索引的创建和使用需要选择合适的字段和索引类型,并通过查询语句指定查询条件和排序方式。

实验二创建数据库表索引(2学时)

实验二创建数据库表索引(2学时)

3.3 索引的创建和删除
使用SQL语句在上述表中创建索引 语句在上述表中创建索引 使用 熟悉了SQL语句后可以也可以使用可视化工具创建 熟悉了 语句后可以也可以使用可视化工具创建
4、实验报告 、
包括以下几部分内容: 包括以下几部分内容:
题目、姓名、日期、实验环境、 题目、姓名、日期、实验环境、实验内容与完成 情况、出现的问题、解决方案( 情况、出现的问题、解决方案(列出遇到的问题 和解决办法,列出没有解决的问题) 和解决办法,列出没有解决的问题)
2.2 数据库管理系统: 数据库管理系统: SQL SERVER2000个人版 个人版
3、实验内容及要求 、
3.1 创建数据库
在查询分析器中,通过SQL语句创建数据库,假设 在查询分析器中,通过 语句创建数据库, 语句创建数据库 名称为S_C 名称为 察看数据库的存储位置、文件名称、 察看数据库的存储位置、文件名称、对应的文件的 个数、 个数、文件的大小等信息
2、实验平台 、
2.1 操作系统: 操作系统:
Windows 2000或者 或者Windows XP 或者
注:学生实验系统可以采用SQL SERVER2000个人版,如果采用 个人版, 学生实验系统可以采用 个人版 如果采用SQL SERVER2000服务器版本,则必须使用windows2000 server 服务器版本,则必须使用 服务器版本
实验二SQL Server之创建数据库、表和索 之创建数据库、 实验二 之创建数据库 学时) 引(2学时 学时
1、实验目的 、
掌握数据库与物理文件的结构关系, 掌握数据库与物理文件的结构关系,理解数据 文件分组的作用 灵活运用SQL 语句建立数据库 灵活运用 使用企业管理器创建数据库, 使用企业管理器创建数据库,全面管理数据库

实验二 数据库及数据库对象的创建和管理

实验二  数据库及数据库对象的创建和管理

实验二数据库及数据库对象的创建和管理一、实验目的1.掌握用企业管理器(Enterprise Manager)对数据库的完整创建、修改和删除2.掌握用企业管理器(Enterprise Manager)对常见的数据库对象如表、试图、索引等的创建、修改和删除3.掌握用SQL语句进行创建和管理数据库、表、试图和索引二、实验环境(实验的软件、硬件环境)硬件:PC机软件:SQL2000三、实验指导说明请复习相关的数据库及其对象的创建和管理的SQL语法知识点,并完成如下内容。

四、实验内容1.数据库操作(1)用SQL语句完整创建一个订单数据库,名为OrderDB,存放路径为:E:\MyOrder,它由5MB的主数据文件、2MB的次数据文件和1MB的日志文件组成。

并且主数据文件以2MB的增长速度增长,其最大数据文件的大小为15MB,次数据文件以10%的增长速度增长,其最大次数据文件的大小为10MB,事务日志文件以1MB速度增长,其最大日志文件大小为10MB。

(2)将主数据文件大小由5M增大到8M,并删除次数据文件。

(3)为了扩大订单数据库,为它增加一个次要数据文件order3.ndf,该文件大小为4M,最大可增长到10M,以10%的速度增长。

(4)删除数据库。

2.表操作(1)简单创建订单数据库orderDB(2)为订单数据库创建5张表,分别如下:(要求在创建的过程中,分别为每张表合理建立主键、外键约束)员工表Employee客户表customer商品信息表product订单主表orderMaster订单明细表orderDetail(3)表结构的修改修改客户表结构,要求客户名称和客户电话属性为not null修改员工表结构,要求员工姓名和电话属性为not null修改订单表结构,要求发票号码属性为not null3.索引操作在已创建的基本表的基础上,完成以下索引(1)在员工表中按所得薪水建立一个非聚集索引salaryIdx(2)在订单主表中,首先按订金金额的升序,然后按业务员编号的降序建立一个非聚集索引salenosumIdx。

实验二表及索引的创建

实验二表及索引的创建

2、可以用like 语句或in 子句限定字符的取值范围。
例如:sno like [A,0-9 ]表示sno的取值可以是a 或0到9的数字。 3、删除约束时,可以用系统存储过程sp_help查看表 中完整性约束名
4、创建索引时需指明索引所属的表。
三、实验步骤

(一)在企业管理器下操作
(1)创建表:每一个表的创建步骤如下。
(需设计满足和不满足完整性约束的两个以上记录)

2、在查询分析器下完成以下内容:
(1)用create命令创建student、course和sc表。
(2)用alter命令修改表结构:
A、在学生表中增加一个“联系电话”字段。
B、增加约束:“学分” 只能取{1,2,3,4}。
C、增加约束:学分的缺省值为3 。 D、增加约束:学生表和课程表中“学号”的前两 位为 “20”,第三位与第四位必须为数字。 E、删除学生表中“学号” 的check约束。
(二)修改表、删除表和创建 索引的SQL命令。
②在查询分析器下输入所设计的每条SQL命令后, 用鼠单击任务栏上的绿色右箭头运行命令,观察运 行结果。

思考与练习

1、观察下面的数据录入时会出现什么现象?
A、“系编号”插入重复值,出现什么现象,为什么?
B 、“系名称”插入重复值,出现什么现象,为什么?
F、删除学生表中的“年龄”字段。
G、增加外码: Sno是学生表的外码,cno是课程 表的外码。 (3) 在课程表的课程名称上建立唯一性索引。 (4)用drop命令删除成绩表。
三、本次实验的重点及难点
重点:用SQL语句定义表结构(创建、修改和删除) 难点:完整性约束的定义、增加及删除

索引的使用实验报告

索引的使用实验报告

一、实验目的1. 理解索引的概念和作用。

2. 掌握创建、删除和管理索引的方法。

3. 通过实际操作,验证索引对数据库查询性能的影响。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 实验数据:模拟学生信息表(包含学生ID、姓名、年龄、性别、班级ID等字段)三、实验内容1. 创建索引2. 查询性能测试3. 删除索引4. 索引重建与优化四、实验步骤1. 创建索引(1)创建学生信息表```sqlCREATE TABLE student (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(20),age INT,gender ENUM('男', '女'),class_id INT);```(2)创建索引```sql-- 创建学生ID索引CREATE INDEX idx_student_id ON student(id);-- 创建学生姓名索引CREATE INDEX idx_student_name ON student(name);-- 创建学生年龄索引CREATE INDEX idx_student_age ON student(age);-- 创建学生性别索引CREATE INDEX idx_student_gender ON student(gender);-- 创建学生班级ID索引CREATE INDEX idx_student_class_id ON student(class_id); ```2. 查询性能测试(1)测试创建索引前的查询性能```sql-- 查询学生信息表中所有学生信息SELECT FROM student;-- 查询年龄大于18岁的学生信息SELECT FROM student WHERE age > 18;-- 查询班级ID为1的学生信息SELECT FROM student WHERE class_id = 1;```(2)测试创建索引后的查询性能```sql-- 查询学生信息表中所有学生信息SELECT FROM student;-- 查询年龄大于18岁的学生信息SELECT FROM student WHERE age > 18;-- 查询班级ID为1的学生信息SELECT FROM student WHERE class_id = 1;```3. 删除索引```sql-- 删除学生ID索引DROP INDEX idx_student_id ON student;-- 删除学生姓名索引DROP INDEX idx_student_name ON student;-- 删除学生年龄索引DROP INDEX idx_student_age ON student;-- 删除学生性别索引DROP INDEX idx_student_gender ON student; -- 删除学生班级ID索引DROP INDEX idx_student_class_id ON student;```4. 索引重建与优化(1)重建索引```sql-- 重建学生ID索引ALTER TABLE student DROP INDEX idx_student_id;ALTER TABLE student ADD INDEX idx_student_id(id);-- 重建学生姓名索引ALTER TABLE student DROP INDEX idx_student_name;ALTER TABLE student ADD INDEX idx_student_name(name);-- 重建学生年龄索引ALTER TABLE student DROP INDEX idx_student_age;ALTER TABLE student ADD INDEX idx_student_age(age);-- 重建学生性别索引ALTER TABLE student DROP INDEX idx_student_gender;ALTER TABLE student ADD INDEX idx_student_gender(gender);-- 重建学生班级ID索引ALTER TABLE student DROP INDEX idx_student_class_id;ALTER TABLE student ADD INDEX idx_student_class_id(class_id); ```(2)优化索引```sql-- 优化学生ID索引OPTIMIZE TABLE student;```五、实验结果与分析1. 实验结果(1)创建索引前后的查询性能对比通过实验可以发现,创建索引后,查询性能得到了显著提升。

实验二数据表创建和操作

实验二数据表创建和操作

实验二表的创建及简单操作实验目的:本实验主要是对SQL基本操作语句进行学习,完成数据表的建立(Create Table)、修改(Alter Table)、删除(Drop Table)和数据记录的插入(Insert)、修改(Update)和删除(Delete)。

1.掌握构造SQL语句完成数据库中各张基本表的创建、修改、和删除方法。

2.掌握利用SQL语句对基本表中元组进行插入、修改和删除的方法。

4.对数据库中各表中的记录完成简单查询,掌握单表查询和多表查询的SQL语句构造方法。

实验内容及步骤:(一)综合实验1新建一个图书管理数据库BookShop,其中存放两张表,书Book(书名,作者,书号,价格,出版社),即Title char(26), author char(10), t_no char(5), price float, pub char (30);1.建表。

2.修改表的定义:(1)删除表Book中的出版社属性。

(2)更改表Book_Page的名字为Book_Detail。

(3)向表Book中插入一个属性:库存量QTY(int)。

(4)向表Book_Detail中插入一个属性:出版年pub_date (int)。

(5)更改表Book_Detail中页数的类型为字符型3.向表中插入数据:Book(计算机原理,张一平,S3092,20.80,200;C语言程序设计,李华,H1298,15.30,300;数据库原理,王家树,D1007,22.70,150;计算机网络,高明,S5690,18.90,230;Artificial intelligence,P.Winston,D2008,20.50,400;Expert systems,R.Ullman,H3067,17.00,370;软件工程,鲁廷璋,S2005,35.00,200;Fortran 程序设计,顾学峰,S5006,18.00,180)4.记录的插入、删除与更新:(1)在Book表中插入一元组:S7028,Digital Image Processing,36.00。

数据库实验 索引的创建与使用

数据库实验     索引的创建与使用

实验三:索引的创建与使用一、实验目的:1、理解索引的概念和索引的作用。

2、掌握创建索引的方法。

3、学会使用索引。

4、了解聚簇索引和非聚簇索引。

二、实验要求:(必做)硬件:Intel Pentium 120或以上级别的CPU,大于16MB的内存。

软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。

学时:2学时三、实验内容:1、用create index在学生表student的学号sno上建立聚簇索引。

2、在学生表student中,为姓名sname建立非聚簇索引。

3、在课程表的课程号Cno上建立唯一索引。

4、在选课表的学号sno、成绩Grade上建立复合索引,要求学号为升序,学号相同时成绩为降序。

5、用drop删除学生表student的索引。

数据库设计与管理实验报告实验名称评分实验日期年月日指导教师姓名专业班级学号一、实验目的二、实验步骤及结果1、用create index在学生表student的学号sno上建立聚簇索引。

create clustered index stusno on student(sno);2、在学生表student中,为姓名sname建立非聚簇索引。

create index stusname on student(sname);3、在课程表的课程号Cno上建立唯一索引。

create unique index coucno on course(cno);4、在选课表的学号sno、成绩Grade上建立复合索引,要求学号为升序,学号相同时成绩为降序。

create unique index scng on sc(sno asc,grade desc);5、用drop删除学生表student的索引。

drop index student.stusno,student.stusname;三、程序调试及问题分析1、用create index在学生表student的学号sno上建立聚簇索引。

实验2创建数据库、表、索引

实验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) )

数据库实验2 创建数据库表与索引

数据库实验2 创建数据库表与索引

实验2:创建数据库表与索引----表的创建与管理1.实验目的与要求:1.1 在已建立的数据库中创建表:掌握表的建立方法,运用企业管理器和Transact-SQL语句两种方法建立“课程信息表”、“教学任务表”、“教师档案表”、“学生档案表”、“学生选课表”、“学生成绩表”。

1.2了解表与表之间的逻辑依赖关系:学会在企业管理器中,创建表之间的关联关系。

通过外键的拖曳建立表的基本依赖关系,从而直白地表达整个数据库的表间联系,但是,注意:建立过程中,主键和外键对应的源数据表,并实践数据库管理系统提供的数据完整性功能,加深对数据完成的理解,进行数据完整性描述。

1.3 修改表结构掌握表结构的修改方法,修改数据类型,为表增加新字段,增加约束条件。

1.4 建立索引掌握索引的建立方法,学会使用Transact-SQL命令创建索引和使用SQL 企业管理器创建索引。

2.实验环境与实验器材:计算机,网络环境,投影设备。

实验相关软件:Window xp、SQL Server 2000。

2*.实验预备知识2.1.1 关系模型的完整性约束2.1.2 索引2.1.3 表的创建与修改3.实验内容与步骤使用企业管理器和Transact-SQL语句创建“课程信息表”、“教学任务表”、“教师档案表”、“学生档案表”、“学生选课表”、“学生成绩表”6张表,各表的逻辑结构如P36表3.1、表3.2、表3.3、表3.4、表3.5、表3.6。

且各表之间的逻辑依赖关系如图3.1。

并对关系表进行管理。

具体内容如下。

3.1 在“教学管理”数据库中使用Transact-SQL命令创建表使用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)课程信息表:编程代码:create table 课程信息表(课程ID char(6) primary keycheck (课程ID like('[JZXR][BX][0-9][0-9][0-9][0-9]')),课程名称varchar(40),课程类别char(8)check(课程类别IN('基础必修','专业必修','限选','任选')), 学分real check (0.5<=学分and 学分<=5.0),学时int check(学时%8=0))实验结果:2实验情况调试分析:在编写信息课程表代码的过程中,我把“R”错写成“B”,如截图所示,然后在企业管理器中修改回来。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二:建立数据库和建表
❖ 一、实验目的
1、学会使用SQL语句创建数据库和表 2、学会使用SQL 语句增加、修改和删除字段,
增加和删除完整性约束,加深对完整性概念 的理解,达到灵活应用的目的。 3、学会使用SQL 语句创建、删除索引
❖ 二、实验内容及要求 实验数据库名为jxgl,实验所用的表结构如下:
表的外码。 (3) 在课程表的课程名称上建立唯一性索引。
(4)用drop命令删除成绩表。
2、在企业管理器中完成以下内容: (1)在课程表的课程名上建立一个普通索引。 (2)在两个表中录入数据,分析数据完整性的作用。
(需设计满足和不满足完整性约束的两个以上记录)
三、本次实验的重点及难点: 重点:用SQL语句定义表结构(创建、修改和删除) 难点:完整性约束的定义、增加及删除
CNO(课程号) CHAR(4) PRIMARY KEY)
(5)SC(学生成绩表)( CNO(课程号) CHAR(4) SNO(学号) CHAR(10) GRADE(成绩) INT 0<=grade<=100 主码是(sno,cno))
❖ 1、在查询分析器下完成以下内容: (1)创建数据库jxgl (2)创建上述五个表,同时需定义出各个表所给定的
进入表结构的修改窗口. ②选择“管理索引/键”快捷键,进入创建索引的窗口。 ③设置表索引,保存并关闭该窗口。 (2)录入数据:
选择需录入数据的表,按右键,选择‘返回所 有行’ ,进入录入数据的窗口,录入数据,同时观 察完整性约束的作用。
思考与练习
❖ 1、观察下面的数据录入时会出现什么现象? A、“系编号”插入重复值,出现什么现象,为什么? B 、“系名称”插入重复值,出现什么现象,为什么? C、“课程名”插入重复值,出现什么现象,为什么? D、学生表中插入“班级编号”没有在系表中出现的
(3)Student(学生表)( AGE(年龄) INT SEX(性别) VARCHAR(2) SNO(学号) CHAR(10) PRIMARY KEY SNAME(姓名) VARCHAR(16) classno(班级编号) CHAR (8) 班级表的外码 )
(4)Course(课程表)( SCORE(学分) INT CNAME(课程名) VARCHAR(32) unique
❖ (1) dept(系表)( Deptno (系编号 CHAR(8) PRIMARY KEY Deptname(系名称) varCHAR(20) unique Dpho (电话号码) CHAR(12) 只能取数字 Deptadd 系办公地点 CHAR(40))
(2)class (班级表) ( classno (班级编号) char(8) primary key classname (班级名称) varchar(10) not null deptno (系编号) char(8) 系表的外码)
记录,出现什么现象,为什么? ❖ 2、实体完整性通过什么机制保证? ❖ 3、唯一性约束与主键有何区别?
❖ 提示: 1、 可用substring()函数取属性中的子串,见帮助 2、可以用like 语句或in 子句限定字符的取值范围。
例如:sno like [A,0-9 ]表示sno的取值可以是a 或0到9的数字。 3、删除约束时,可以用系统存储过程sp_help查看表 中完整性约束名 4、创建索引时需指明索引所属的表。
完整性约束规则。 (3)用alter命令修改表结构:
A、在学生表中增加一个“联系电话”字段。 B、增加约束:“学分” 只能取{1,2,3,4}。 C、增加约束:学分的缺省值为3 。 D、增加约束:学生表和成绩表的“学号”前两 位
为 “20”,第三位与第四位ห้องสมุดไป่ตู้须为数字。
E、删除学生表中“学号” 的check约束。 F、删除学生表中的“年龄”字段。 G、增加外码: Sno是学生表的外码,cno是课程
四、实验步骤
(一)查询分析器的操作
❖ ①分析要求,设计创建表、修改表、删除表和创建 索引的SQL命令。
❖ ②在查询分析器下输入所设计的每条SQL命令后, 用鼠单击任务栏上的绿色右箭头运行命令,观察运 行结果。
❖ (二)在企业管理器下操作 (1)创建索引: ①选择要新建索引的表单击右键,选择‘设计表’后,
相关文档
最新文档