实验2 数据库和表
- 格式:doc
- 大小:70.00 KB
- 文档页数:4
创建数据库和表的实验步骤一.实验名称:创建数据库和表二.目的和要求:(1)了解SQL Server数据库的逻辑结构和物理结构。
(2)了解表的结构特点。
(3)了解SQL Server 的基本数据类型。
(4)了解空值概念。
(5)学会使用T-SQL语句创建数据库和表.。
三.实验准备首先要明确,能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。
其次创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小(最初的大小、最大的大小、是否允许增长及增长方式)和存储数据库的文件。
然后,确定数据库包含哪些表,以及所包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。
此外还要了解使用T-SQL语句创建数据库、表的方法。
四.实验内容:1、实验题目创建用于学校管理的学生-课程数据库,数据库名为“DB_自己的学号”,包含学生的信息、课程的信息以及学生选修的信息,即数据库中包含下列3个表:(l)Student:学生信息表。
(2)Course:课程信息表。
(3)Sc:选修情况表。
2.实验步骤(1)使用 T-SQL语句创建数据库按照上述要求创建学生-课程数据库。
启动查询分析器→在“查询”窗口中输人创建数据库的T-SQL语句。
单击快捷工具栏的执行图标执行上述语句,并查看执行结果(也可在企业管理器中查看)。
打开查询分析器,在工作区域输入create database DB_**********创建一个以自己学号为名的库,结果如图(1)所示:[创建数据库和表的实验步骤]。
实验2 MySQL数据库对象管理1. 实验目的理解数据字典、表、索引、视图的作用,掌握数据字典的操纵方式,掌握库、表、索引、视图的操作方法。
2. 实验内容【实验2-1】查看INFORMATION_SCHEMA.SCHEMATA 表中的信息。
【实验2-2】查看INFORMATION_SCHEMA.TABLES 表中的信息。
【实验2-3】查看INFORMATION_SCHEMA.COLUMNS 表中的信息。
【实验2-4】查看INFORMATION_SCHEMA.STATISTICS 表中的信息。
【实验2-5】查看INFORMATION_SCHEMA.CHARACTER_SETS 表中的信息。
【实验2-6】查看INFORMATION_SCHEMA.COLLATIONS表中的信息。
【实验2-7】使用CREATE DABASE语句创建school数据库。
【实验2-8】将school数据库的字符集设为utf-8。
【实验2-9】在school数据库下创建stu_info表,包括stuno varchar(10)、stuname varchar(8)、stubir date、stuage int;创建表course,包括courno varchar(3)、courname varchar(10)、schyear date、credit int;创建stuandcour 表,包括stuno varchar(10)、courno varchar(3)、grade int。
【实验2-10】使用SHOW、DESCRIBE语句查看所建的表。
【实验2-11】使用ALTER TABLE语句将stuinfo表的表名改为stuinfo,并且增加stugender varchar(4)字段,将course表中courno字段的类型改为varchar(5)。
【实验2-12】将前边建的表复制到test数据库中,如果没有test数据库就新建一个。
实验二数据库的查询实验实验目的和要求(1)掌握SQL Server查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。
(2)熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
(3)熟练掌握数据查询中的分组、统计、计算和组合的操作方法。
实验内容和原理在实验一定义的“学生成绩数据库”中,使用T-SQL 语句完成以下查询:(1 )求计算机系学生的学号和姓名。
(2)求选修了数学的学生学号、姓名和成绩。
(3)求选修01 课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。
(4)查找选修课程的平均成绩位于前三名的学生的学号。
(5)查询计算机系的姓刘且单名的学生的信息。
(6)查询至少选修两门课程的学生学号。
(7)查询学生的学号、课程号以及对应成绩与所有学生所有课程的最高成绩的百分比。
(8)查询选修“数据库”课程,且成绩在80 分以上的学生的学号和成绩。
(9)查询所有姓“王”的同学没有选修的课程名。
(请分别用exists和in完成该查询) (10)查询选修了全部课程的学生的姓名。
(请至少写出两种查询语句)(11)求选修了学生“ 95001”所选修的全部课程的学生学号和姓名。
(12)查询每一门课的间接先修课。
(13)列出所有学生所有可能的选课情况。
(14)列出每个学生的学号及选修课程号,没有选修的学生的学号也一并列出。
(15)输出与“张三”同性别并位于同一个系的所有同学的姓名。
(请至少写出两种查询语句)(16)查询至少被两名男生选修的课程名。
(17)对被两名以上学生所选修的课程统计每门课的选课人数。
要求输出课程号和选修人数,查询结果按人数降序排列;若人数相同,按课程号升序排列。
(18)列出选修课程超过 3 门的学生姓名及选修门数。
(19)检索至少选修课程号为01 和03 的学生姓名。
(20)检索至少选修课程“数学”和“操作系统”的学生学号。
(21 )查询‘操作系统'课程的最高分的学生的姓名、性别、所在系(22)查询数据结构的成绩低于操作系统的成绩的学生姓名及该生的这两门课的成绩(23)所有成绩都在70 分以上的学生姓名及所在系。
实验二关联、查询和数据库实验2-1 多表关联与查询实验目的:〔1〕理解关联的概念,掌握在数据工作期窗口中建立关联的方法。
〔2〕掌握SELECT-SQL查询命令。
〔3〕掌握用查询设计器建立查询的方法。
实验要求:〔1〕在数据工作期窗口上建立以“订单〞为父表,“订单明细〞为子表的一多关系;再建立以“订单明细〞为父表,“货物〞为子表的多一关系的二级关联。
然后查看关联后的效果。
〔2〕用SELECT-SQL命令对上述5个表作多表查询练习。
①查询联系“东南实业〞公司的员工**及联系。
②查询订购麻油的订单份数。
〔3〕用查询设计器查询公司订货情况。
实验步骤:〔1〕为“关联〞建立索引:为订单表的订单号字段建立索引,再为货物表的货号字段建立索引。
1)翻开“订单明细表〞在命令窗口里输入命令:INDE* ON 订单号 TAG ddh,执行命令就为该表建立了索引,翻开表生成器查看如下:图中显示了索引,默认是升序的。
2〕同样的方法,翻开“订单明细表〞在命令窗口里输入命令:INDE* ON 货号 TAG hh,执行命令就为该表建立了索引,〔2〕建立关联:过程方法:1〕翻开数据工作期窗口→分别用“翻开〞按钮翻开订单表、订单明细表和货物表→在“别名〞列表框中选定“订单〞,单击“关系〞按钮→在“别名〞列表框中选定“订单明细〞→随即弹出“设置南索引顺序〞对话框,其列表框中显示“订单明细.订单号〞。
选定“确定〞按钮→随即弹出“表达式生成器〞对话框,其SET RELATION框中显示“订单号〞。
选定“确定〞按钮,多一关系建立完成→选定“一对多〞按钮→在随即弹出的“创立一对多关系〞对话框中→选定“确定〞按钮,一多关系建立完成。
显示的表达式生成器如下:2)在“别名〞列表框中选定“订单明细〞→为确定以订单明细表为父表建立下一级关联,在“关系〞列表框中也选定“订单明细〞→单击“关系〞按钮→在“别名〞列表框中选定“货物〞→在随即弹出的“设置索引顺序〞对话框中选定“确定〞按钮→在“表达式生成器〞对话中选定“确定〞按钮,多一关系建立完成,如图下列图所示:〔3〕查看关联效果:分别“订单〞、“订单明细〞和“货物〞浏览窗口,并按左中右顺序排列→选定“订单〞表的*个记录,“订单明细〞和“货物〞浏览窗口的内容即会关联变化,如下列图所示。
课程名称数据库原理实验序号 2实验项目数据查询实验地点实验学时实验类型验证性指导教师实验员专业班级学号姓名年月日成绩:A教师该学生本次实验的内容丰富,完成的操作步骤详细具体,实验结果正确,在实验报告的填写中态度十分严谨,对数据分析有自己的见解。
四、实验过程(实验步骤、记录、数据、分析)实验准备:在实验一的基础上(包括数据库的建立、定义表和添加表内容)进行实验,下面分别为depts表、students表、courses表、reports表。
一、简单的选择与投影查询1、无条件查询1.1查询全体学生的详细记录。
这是一个无条件的选择查询,其命令为:其命令为:select * from students运行结果如右图,显示整张表的内容。
1.2查询全体学生的姓名(Sname)、学号(Sno)、所在系(dno)。
这是一个无条件的投影查询,其命令为:select sname,ssexfrom students运行结果如右图,显示了表中的三列。
1.3查询全体学生的姓名(Sname)、出生年份及学号(Sno)。
其命令为:select sno,sname,2017-sage as birth from students运行结果如右图,显示了三列内容。
1.4查询全体学生的姓名、出生年份和学号,要求用小写字母表示学号中的字母。
其命令为:select sname,'birth:' title,YEAR(GETDATE())-sagebirthyear,LOWER(sno) lsnofrom students运行结果如右图,显示了四列内容。
1.5查询选修了课程的学生学号。
其命令为:select distinct snofrom reports运行结果如右图,distinct短语是为了消去查询结果中的重复值。
2、条件查询(1)比较条件1.1查询d03系全体学生的学号(Sno)和姓名(Sname)。
其命令为:select sno,snamefrom studentswhere dno='d03'运行结果如右图,显示了d03系的全体学生姓名与学号。
实验一创建数据库和表以及表操作一、实验目的1.了解SQL Server数据库的逻辑结构和物理结构,表的结构特点;2.了解SQL Server的基本数据类型,空值概念;3.学会在企业管理器中创建数据库和表;4.学会使用T—SQL语句创建数据库和表;5.学会在企业管理器中对数据表进行插入、修改、删除数据操作;6.学会使用T-SQL对数据表进行插入、修改、删除数据操作;二、实验内容1.实验题目(1)创建用于企业管理的员工管理数据库,数据库名为YGGL,包含员工的信息、部门信息以及员工的薪水信息。
数据库YGGL包含下列3个表。
(1)Employees:员工自然信息表。
(2)Departments:部门信息表。
(3)Salary:员工薪水情况表。
各表的结构分别如表T2.1,表T2.2,表T2.3所示。
表T2.1 Employees表结构表T2.2 Departments表结构实验步骤1.在企业管理器中创建数据库YGGL要求:数据库YGGL初始大小为10MB,最大大小为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB(默认为不限制),按1MB增长(默认是按5%比例增长)。
数据库的逻辑文件名和物理文件名均采用默认值,分别为 YGGL_data 和e:\sql\data\MSSQL\Data\YGGL.mdf,其中e:\sql\data\MSSQL为SQL Server 的系统安装目录;事务日志的逻辑文件名和物理文件名也均采用默认值分别为YGGL—LOG 和 e:\sql\data\MSSQL\Data\YGGL_Log.1df。
以系统管理员Administrator是被授权使用CREATE DATABASE语句的用户登录SQL Server服务器,启动企业管理器一>在服务器上单击鼠标右键一>新建数据库一>输入数据库名“YGGL”一>选择“数据文件”选项卡一>设置增长方式和增长比例一>选择“事务口志”选项卡一设置增长方式和增长比例。
实验二如何改变数据库扩展属性
一、实验内容
1.打开项目文件 myvfp.pjx,依次展开“全部→数据→数据库→ry”,选中“表”,单击右侧的“新建”按钮,弹出“新建表”对话框,单击该对话框中的“新建表”按钮。
2.在弹出的“创建”对话框中,输入表名例如“职工档案”,单击“保存”,打开“表设计器”。
3.“表设计器”的使用:表设计器包含“字段”、“索引”及“表”三张选项卡,我们使用其中的“字段”选项卡来建立表结构,见图 6,一行一个字段,每个字段由字段名、类型及宽度等组成。
字段类型和宽度:Vfp 支持 13 种字段类型。
在表设计器中输入字段,类型和宽度,例如图下所示。
点击确定,输入数据记录。
出现编辑窗口,可立即向表中输入数据,例如图下所示。
4.输完记录后,按组合键 Ctrl+W 即可关闭编辑窗口,将记录保存到“职工档案”表中,此时在项目管理器中展开“表”选项即可见“职工档案”表。
5.在命令窗口中输入 browse 命令回车,即可浏览表中的记录。
6.可追加记录。
(1)显示工具栏点击追加方式(2)
表职工档案点击右边的修改按钮
二、难点:
对于字段,类型,宽度的输入并不是特别熟悉,有些难以加以区分。
输入数据的过程有些繁琐,需要耐心。
浏览表时可多运用技巧,做到顺序连贯。
三、体会:
学会了在项目管理器下新建数据库,数据库下新建表。
对于如何改变数据库属性有了一定的了解,并能大致熟悉运用。
创建数据库表与索引实验(doc 24页)实验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、学期和年度;“学生选课表”给出了学生与课程之间的关系;“学生成绩表”则给出了学生成绩的计算方法。
院系:计算机学院实验课程:数据库实验实验项目:数据操作实验指导老师:XXX开课时间:XXXX ~ XXXX年度第 2学期专业:XXXX班级:XXXX级本X班学生:XXX学号:XXXXXXXX实验二数据操作实验一、实验任务及目的1. 实验任务:上机完成实验内容,主要是编写、运行和分析SQL,请预先自行判断SQL 的运行结果(例如:查询结果包含哪些数据;更新后关系数据如何变化),然后与实际的运行结果比较,以此发现和修正SQL编写中的错误。
2. 实验目的:能够熟练使用MS SQL Server的Query Analyzer工具,联机运行SQL并观察分析SQL的执行结果。
掌握SQL的数据定义、数据查询和数据修改功能,能独立用SQL表述问题,解决较复杂的应用需求。
二、实验的主要硬件软件环境MS SQL Server、计算机磁盘三、实验主要数据结构线性表四、实验的主要算法1.至少向北京或天津的工程提供了零件的供应商名,供应的零件名、工程名和供应数量。
SELECT PNAME,JNAME,SNAME,QTYFROM S,P,J,SPJWHERE SPJ.SNO=S.SNOAND SPJ.JNO=J.JNOAND SPJ.PNO=P.PNOAND (J.CITY=’上海’ OR J.CITY=’天津’)2.供应红色零件给工程J1的供应商名SELECT SNAMEFROM S,P,SPJWHERE SPJ.JNO=’J1’AND SPJ.SNO=S.SNOAND SPJ.PNO=P.PNOAND COLOR=’红’3. 没有使用天津产的零件的工程号SELECT JNOFROM JWHERE JNO NOT IN(SELECT JNOFROM SPJ,SWHERE SPJ.SNO=S.SNOAND CITY=’天津’)4.没有向位于相同城市的工程供应零件的供应商名SELECT SNAMEFROM SWHERE SNAME NOT IN( SELECT SNAMEFROM S,J,SPJWHERE SPJ.JNO=J.JNOAND SPJ.SNO=S.SNOAND S.CITY=J.CITY)5. 和工程J3位于同一城市且使用过至少一种相同零件的其它工程名SELECT DISTINCT(JNAME)FROM J,SPJWHERE SPJ.JNO=J.JNOAND CITY IN(SELECT CITYFROM JWHERE J.JNO=’J3’)AND JNAME NOT IN(SELECT JNAMEFROM JWHERE J.JNO=’J3’)6. 每种颜色零件的总重量SELECT COLOR,SUM(WEIGHT)FROM PGROUP BY (COLOR)7.红色零件的平均重量SELECT AVG(WEIGHT)FROM PWHERE COLOR=’红’8.供应商最集中的城市(意即,哪个城市的供应商最多?)SELECT S.CITYFROM SGROUP BY (CITY)HAVING COUNT(CITY)>=ALL(SELECT COUNT(CITY)FROM SGROUP BY (CITY))9.对上海和天津,统计该城市的供应商一共供应了多少数量的零件。
MY SQL数据库应用实验报告一、实验目的1、熟练掌握数据表建立的语句和使用前台工具建表。
2、熟练掌握单主键表和多主键表的建立。
3、熟练掌握表的外键的建立方法。
4、能够运用SQL语句建立表的非空约束、唯一性约束和默认约束。
5、熟练掌握使用ALTER语句修改表的各种属性。
二、实验内容1、在example数据库中创建一个student表和一个grade表。
表结构如下:表。
Student表:Grade表:(2)将grade表的course字段的数据类型改为V ARCHAR(20)答:mysql> alter table Grade modify course varchar(20);(3)将s_num字段的位置改到course字段的前面答:mysql> alter table Grade modify course varchar(20) after S_num; (4)将grade字段改名为score答:mysql> alter table Grade change grade score varchar(4);(5)建立grade表的外键约束(提示:同student表中的相同字段联系)答:mysql> constraint c_fk foreign key(S_num) references Student (num);(6)将grade表的存储引擎更改为MyISAM类型答:mysql> alter table Grade engine=MyISAM;(7)将student表的address字段删除答:mysql> alter table Student drop address;(8)在student表中增加名为phone的字段答:mysql> alter table Student add phone int(8)-> \g(9)将grade表改名为gradeInfo答:mysql> alter table Grade rename GradeInfo;Query OK, 0 rows affected (0.09 sec)mysql> show tables-> \g+----------------+| Tables_in_test |+----------------+| gradeinfo || student |+----------------+2 rows in set (0.00 sec)2、在上面建立的example数据库中创建一个tran表和一个car表。
实验2 数据库和表
实验目的:
1.理解MySQL数据库和表的概念及关系;
2.理解表的结构特点;
3.理解MySQL的基本数据类型;
4.学会命令行方式进行数据定义
实验要求:
1.掌握数据库设计的基本方法,设计用于企业管理的员工管理数据库。
2.创建用于企业管理的员工管理数据库,确定数据库中有哪些表,以及所包含的各表的结构,还要了解MySQL的常用数据类型。
3.掌握数据定义相关SQL语句。
实验内容:
1.设计用于企业管理的员工管理数据库
2.用命令创建数据库和表
实验步骤:
1.设计用于企业管理的员工管理数据库
要建立企业管理系统,对员工的基本信息(包括员工编号,姓名,性别,出生日期,学历,参加工作时间,地址,电话号码),部门基本信息(部门号,部门名,备注),以及员工每月的薪水信息(薪水编号,收入,支出,年月)进行管理,根据要求设计数据库。
(2)将E-R图转换为关系模式
员工表:员工编号,姓名,性别,学历,出生日期,电话号码,地址部门表:部门号,部门名,备注
从属表:部门号,员工编号
薪水表:薪水编号,收入,支出,年月
员工领取薪水表:员工编号,薪水编号,薪水值
部门计算薪水表:部门号,薪水编号,薪水值
(3)确定各数据表的结构
要求:将下面三个表中带底纹的空的单元格填上对应的值。
员工信息表:Employees
部门信息表:Departments
2.使用SQL命令创建数据库和表
⑴使用命令创建用于企业管理的员工管理数据库YGGL,默认的字符集设为utf8. Create database YGGL character set=utf8;
⑵使用命令创建数据库YGGL中各表
首先将YGGL数据库变成当前活动的数据库
Use YGGL;
①创建部门信息表Departments,存储引擎设为innodb.
Create table Departments (
DepartmentID int(8) unsigned primary key auto_increment,
DepartmentName varchar(10),
Note text
)engine=innodb auto_increment=10000;
②创建员工信息表Employees,存储引擎设为innodb
Create table Employees(
EmployeeID int(8) unsigned primary key auto_increment,
Name char(6) not null,
Sex enum(“F”,”M”),
Birthday date,
Education varchar(20),
WorkYear date,
Address varchar(30) not null,
PhoneNumber char(11) not null
)engine=innodb auto_increment=10000;
③创建员工薪水情况表Salary,存储引擎设为innodb
Create table Salary (
SalaryID int(8) primary key auto_increment,
InCome float not null default 0,
OutCome float not null default 0,
Time date not null default 20100101
)engine=innodb auto_increment=10000;
④创建一个结构与Employees表结构相同的空表Employees1;
Create table Employees1 select * from Employees;
⑶检查前面创建的表,如果有错误或遗漏的列及主键、外键定义,则用ALTER TABLE 命令修改。
(4) 使用命令删除数据库和表
删除表Employees;
Drop table Employees;
删除数据库YGGL;
Drop databse YGGL;。