实验二表及索引的创建
- 格式:ppt
- 大小:203.00 KB
- 文档页数:11
实验三创建数据库和表
一、目的和要求
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表中以员工姓名建一聚簇索引.。
数据表格的索引建立方法索引是数据库中提高查询效率的重要手段之一,它可以加快数据的检索速度,减少数据库的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两个属性列,分别用来存放供应商的联系电话和电子信箱。
实验二表的排序与索引一、实验目的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()命令显示该函数的值,理解该函数。
实习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打开“表设计器”对话框如下图所示,从图中可以直观地看到“学生表”的表结构。