数据库实验1-6参考答案
数据库原理及应用实验答案

数据库原理及应用实验答案1. 数据库原理数据库原理指的是数据库系统的内部机制和运行原理。
以下是数据库原理的相关内容:- 数据库模型:定义数据的组织方式和约束条件,包括层次模型、网状模型、关系模型、面向对象模型等。
- 数据库结构:描述数据库中数据组织的方式,包括表、视图、索引、存储过程等。
- 数据操作:定义对数据库中数据进行操作的方式,包括增删改查等。
- 数据库事务:保证数据库操作的一致性和完整性的机制,包括ACID(原子性、一致性、隔离性、持久性)属性等。
- 数据库并发控制:处理多个用户同时访问数据库产生的冲突问题,包括加锁、事务隔离级别等。
- 数据库恢复与备份:保证数据库数据不丢失和可恢复的机制,包括日志、回滚、快照等。
2. 数据库应用实验答案以下是数据库应用实验中的相关问题和答案:问题1:什么是数据库?答案:数据库是存储、管理和操作结构化数据的系统。
它提供了数据的组织方式和数据操作的接口,用户可以通过数据库来存储和访问数据。
问题2:数据库的优点是什么?答案:数据库的优点包括:数据共享性高,数据冗余度低,数据一致性好,数据安全性高,数据的集中管理和维护方便等。
问题3:什么是关系数据库?答案:关系数据库是基于关系模型的数据库系统。
它使用表描述数据之间的关系,在关系数据库中,数据以行和列的形式存储,并通过主键和外键来建立关联关系。
问题4:什么是SQL语言?答案:SQL(Structured Query Language)是用于访问和操作关系数据库的标准语言。
它包括数据查询语言(SELECT)、数据定义语言(CREATE、ALTER、DROP)、数据操作语言(INSERT、UPDATE、DELETE)和数据控制语言(GRANT、REVOKE)等。
问题5:什么是数据库调优?答案:数据库调优是指对数据库系统进行性能优化的过程。
它包括优化数据库结构、调整数据库参数、优化查询语句、优化索引和表分区、优化物理存储等方法,以提高数据库的性能和响应速度。
国开作业《MySQL数据库应用》实验训练1在MySQL中创建数据库和表参考068

实验要求:1.配合第1章第3章的理论讲解,理解数据库系统。
2.掌握MySQL工具的使用,通过MySQL Workbench图形化工具完成。
3.每执行一种创建、删除或修改语句后,均要求通过MySQL Workbench 查看执行结果。
4.将操作过程以屏幕抓图的方式复制,形成实验文档。
实验训练2:数据查询操作请到电脑端查看实验目的:基于实验1创建的汽车用品网上商城数据库Shopping,理解MySQL运算符、函数、谓词,练习Select语句的操作方法。
实验内容:1.单表查询【实验2.1】字段查询(1)查询商品名称为“挡风玻璃”的商品信息。
分析:商品信息存在于商品表,而且商品表中包含商品名称此被查询信息,因此这是只需要涉及一个表就可以完成简单单表查询。
(2)查询ID为1的订单。
分析:所有的订单信息存在于订单表中,而且订单用户ID也存在于此表中,因此这是只需要查询订单表就可以完成的查询。
【实验2.2】多条件查询查询所有促销的价格小于1000的商品信息。
分析:此查询过程包含两个条件,第一个是是否促销,第二个是价格,在商品表中均有此信息,因此这是一个多重条件的查询。
【实验2.3】DISTINCT(1)查询所有对商品ID为1的商品发表过评论的用户ID。
分析:条件和查询对象存在于评论表中,对此商品发表过评论的用户不止一个,而且一个用户可以对此商品发表多个评论,因此,结果需要进行去重,这里使用DISTINCT实现。
(2)查询此汽车用品网上商城会员的创建时间段,1年为一段。
分析:通过用户表可以完成查询,每年可能包含多个会员,如果把此表中的创建年份都列出来会有重复,因此使用DISTINCT去重。
【实验2.4】ORDER BY(1)查询类别ID为1的所有商品,结果按照商品ID降序排列。
分析:从商品表中可以查询出所有类别ID为1的商品信息,结果按照商品ID的降序排列,因此使用ORDER BY语句,降序使用DESC关键字。
SQL数据库实验和参考答案

数据库实验和参考答案上机实验七1.声明一个字符串型的局部变量,并对其赋值:‘我的变量’,然后显示出此值。
declare @a char(10)set @a='我的变量'--select @a as 变量的值print @a2.编程实现如下功能:1)声明两个整形的局部变量:@i1和@i2,对@i1赋初值:10,@i2的值为:@i1乘以5,再显示@i2的结果值。
declare @i1 int,@i2 intset @i1=10set @i2=@i1*5print @i22)用While语句实现5000减1,减2,……一直减到50的计算,并显示最终的结果。
declare @sum int,@i intset @sum=5000set @i=1while(@i<=50)beginset @i=@i+1endprint @sum3)输出100以内的素数。
declare @i smallint,@jsmallint,@k smallintset @i=2while(@i<=100)beginset @k=0set @j=2while(@j<@i)beginif(@i%@j=0)beginset @j=@Iendset @j=@j+1endif @k=0print @Iset @i=@i+1end4)将字符数在20以内的字符串变量C的值逆序输出。
要求输出界面为:declare @i varchar(20),@j int,@k varchar(20)set @j=1set @k=''while @j<=len(@i)beginset @k=substring(@i,@j,1) set @j=@j+1endprint '字符串C的值:'+@iprint 'C的逆序字符串:'+@k5)从SC表中查询所有学生的选课成绩情况,分别统计各分数段人数,并输出统计结果。
数据库实验答案

实验3 使用T-SQL语言完成单表查询一、实验目的掌握使用T—SQL语言完成单表查询掌握常用谓词的用法掌握where子句的用法掌握order by 子句的用法掌握group by 子句和having短语的用法二、实验环境Microsoft SQL Server 2000。
三、实验内容和要求1.查询全体学生的详细信息。
2.查询所有课程的详细信息.3.查询所有选课记录的详细信息,要结果表中的列名以中文的形式显示,分别为:学号,课程号,成绩。
4.查询已被学生选修了的课程的编号。
5.查询系别编号为“d002”的学生的姓名和性别。
6.查询年龄在19至21岁或者性别为“女”的学生的学号和所在系别编号。
7.查询系别编号为d001、d002和d003的学生的学号和姓名。
8.查询课程名为“C_”开头的课程名和学分.9.某些学生入学后还没有确定所在的系,查询还没有确定系的学生的姓名。
10.查询成绩大于60分的学生的学号、课程号和成绩,并将查询结果按课程编号升序排列,同一课程的成绩按分数降序排列。
11.查询学校所开设的总的课程数.12.计算2号课的学生成绩总和以及平均成绩,对应的列名分别为“总成绩”和“平均成绩”。
13.查询选修了3号课程的学生的最高分和最低分,对应的列名分别为“最高分”和“最低分"。
14.求各个系别的编号以及各系的人数。
15.查询选课人数大于等于2人的课程编号以及选课的人数。
16.查询学生200215122选修课程的总成绩对应的列名为“总成绩”,并显示出学号。
17.查询有2门以上课程是80分以上的学生的学号及课程数。
18.查询选修了1号课的学生的学号和成绩,结果按成绩降序、学号升序排列.实验1 使用T-SQL语言建库、建表实验2 向表中增、删、改数据四、实验目的掌握使用T-SQL建库、建表、修改表;掌握使用T-SQL对表中数据进行插入、删除和修改.五、实验环境Microsoft SQL Server 2000.六、实验内容和要求19.建立数据库STDB20.在数据库STDB中建立四个表:Student表Department表Course表21.分别向以上四个表中增加数据。
数据库及其应用实验1熟悉Access的启动和退出,熟悉Access的界面

能够熟练建立数据库文件、表对象和关系。
能够熟练掌握基本SQL语言,能够在Access中进行一般的SQL 查询。
能够运用SQL对数据库进行更新。
能够熟练掌握不同软件之间的数据交换。
二、实验设备(环境)及要求
PC机,Windows 7,Office 2010(主要是Access 2010)
(1)选择Word表复制,启动Excel,粘贴,然后命名为“专业”存储。
(2)在Access中单击“外部数据”选项卡下“导入并链接”组中的“Excel”按钮,弹出“获取外部数据-Excel电子表格”对话框,单击“浏览”按钮,指出文件“专业.xlsx”的完整存放路径,然后选中“将源数据导入当前数据库的新表中”。
(3)选择“外部数据”选项卡“导入并链接”组下“文本文件”按钮单击,打开“获取外部数据-文本文件”对话框。
(4)在该对话框中,单击“指定数据源”后面的“浏览”命令按钮,弹出“打开”对话框,找到要导入的文本文件“学院.txt”,单击“打开”按钮。
(5)回到“获取外部数据-文本文件”对话框中,再选择“指定数据在当前数据库中的存储方式和存储位置”下面的“将源数据导入当前数据库的新表中”单选项。
(5)如何隐藏导航窗格?
答案:单击导航窗格中的“百叶窗开/关”,或者按 F11
(6)更改Access默认文件夹怎样操作?
答案:
.选择“工具”→“选项”菜单命令,打开“选项”对话框。
.单击“常规”选项卡,在“默认数据库文件夹”文本框中输入所需的保存路径。
单击“确定”按钮即可
(7)怎样在“快速访问工具栏”中添加“复制”按钮图标?
五、教师评阅
1.按时完成实验:
数据库技术及应用教材习题答案

数据库技术及应用习题答案闫明霞等编习题 11.1 选择题1、A2、C3、C4、B5、C6、A7、C8、B9、D 10、A 11、D 12、A 13、A1.2 填空题1.数据2.数据的逻辑独立性3.数据的物理独立性4.层次数据模型,网状数据模型,关系数据模型5.能按照人们的要求真实地表示和模拟现实世界、容易被人们理解、容易在计算机上实现6.实体、记录7.属性、字段8.码9.域10.一对一、一对多、多对多11.E-R模型12.E-R模型13.层次模型、网状模型、关系模型14.数据操作、完整性约束15.矩形、菱形、椭圆形16.层次模型、一对多17.网状模型18.关系模型19.关系20.外模式、模式、内模式21.三级模式、两级映像22.外模式、模式、内模式23.数据、程序24.数据逻辑、数据物理25.DBMS(数据库管理系统)、DBA(数据库管理员)1.4 综合题2.(注:各实体的属性省略)3.习题 22.1 单项选择题1、C2、A3、B4、C5、C6、D7、A8、B2.2 填空题1.集合2. 能唯一标识一个实体的属性3.系编号,学号,系编号4.关系,元组,属性5.关系模型,关系,实体,实体间的联系6.投影2.4 综合题1、πsno(σcno=’2’(SC))2、sno(σcname=’信息系统’(SC COURSE))3、no,SNAME,SAGE(STUDENT)习题 44.1 单项选择题1、B2、A3、C4、A5、A6、C7、C8、D9、B10、A11、B 12、A 13、C14、C15、C4.2 填空题1、drop table2、alter table add <列名或约束条件>3、with check option4、基本表基本表5、distinct group by roder by6、数据定义数据操纵数据控制7、distinct8、like % _9、自含式嵌入式10、order by asc desc4.3 综合题1、SELECT XH, XM, ZYM, BH, RXSJ FROM STU_INFO, GFIED WHERE STU_INFO.ZYH = GFIED.ZYH AND NL > 23 AND XBM = '男'2、SELECT ZYM 专业名, count(*) 人数FROM STU_INFO, GFIEDWHERE STU_INFO.XSH = '03' AND STU_INFO.ZYH = GFIED.ZYHGROUP BY ZYM3、SELECT bh,count(*) as 人数FROM STU_INFO GROUP BY bh4、SELECT XH, XM, XBM, BH FROM STU_INFOWHERE ZYH IN ( SELECT ZYH ROM STU_INFO WHERE XM = '李明' ) ORDER BY XH5、SELECT DISTINCT GCOURSE.KCH, KM FROM STU_INFO, XK, GCOURSEWHERE XK.KCH = GCOURSE.KCH AND STU_INFO.XSH = '12'AND STU_INFO.XH = XK.XH6、SELECT COUNT(DISTINCT KCH) AS 选课门数, A VG(KSCJ) AS 平均成绩FROM STU_INFO, XKWHERE STU_INFO.XH = XK.XH AND XSH = '12'7、SELECT DISTINCT STU_INFO.XH, XM, BH, ZYM, KMFROM STU_INFO, XK, GFIED, GCOURSEWHERE KSCJ > 85 AND STU_INFO.XH = XK.XH AND XK.KCH = GCOURSE.KCHAND STU_INFO.ZYH = GFIED.ZYHORDER BY ZYM, BH, STU_INFO.XH8、SELECT STU_INFO.XH, XM, XSM, ZYM, BH, PYCCMFROM STU_INFO, XK, GDEPT, GFIEDWHERE KKNY = '20011' AND STU_INFO.XH = XK.XH AND STU_INFO.XSH =GDEPT.XSH AND STU_INFO.ZYH = GFIED.ZYH GROUP BY STU_INFO.XH, XM, XSM, ZYM, BH, PYCCMHA VING COUNT(*) > 109、SELECT DISTINCT bhFROM STU_INFO10、DELETE * FROM STU_INFOWHERE XH LIKE '2000%'或DELETE * FROM STU_INFOWHERE LEFT(XH,4) = '2000'11、ALTER TABLE STU_INFOADD BYSJ varchar(8)12、UPDATE XKSET KSCJ = 60WHERE KSCJ BETWEEN 55 AND 59 andXH in(SELECT xh FROM stu_info WHERE zyh = '0501')and K CH in ( SELECT kch FROM gcourse WHERE km = '大学英语' )13、UPDATE GCOURSESET KCXF=6WHERE KCH = '090101'14、CREATE TABLE CCOURSE(KCH char(6),KM varchar(30),KCYWM varchar(30))15、CREATE VIEW ISE ASSELECT *FROM STU_INFO WHERE XSH=’12’习题 55.1 单项选择题1、B2、A3、B4、A5、B6、C7、B5.2 填空题1、使属性域变为简单域消除非主属性对主关键字的部分依赖消除非主属性对主关键字的传递依赖2、平凡函数依赖3、Y也相同唯一的Y值5.3简答题2、(1) R的码是(Sno,Cno),R是1NF,因为Teacher和Title属性部分函数依赖于码(Sno,Cno),所以R∈1NF(2)SC(Sno,Cno,Grade)CT(Cno,teacher) TT(Teacher,title)3、D->B C->A4、需求分析需求分析是数据库设计的第一个阶段,从数据库设计的角度来看,需求分析的任务是对现实世界要处理的对象(组织、部门、企业等)进行详细的调查了解,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能。
数据库原理与应用:基于SQL+Server+2005课后答案

CHAPTER 01第1章数据库系统概述练习题1参考答案1.文件系统中的文件与数据库系统中的文件有何本质上的不同?答文件系统中的文件是面向应用的,一个文件基本上对应于一个应用程序,文件之间不存在联系,数据冗余大,数据共享性差,数据独立性差;数据库系统中的文件不再面向特定的某个或多个应用,而是面向整个应用系统,文件之间是相互联系着的,减少了数据冗余,实现了数据共享,数据独立性高。
2.对数据库的3种不同数据观是如何划分的?答概念模式体现了数据库的总体观,称为DBA视图;内模式体现了数据库的存储观,称为系统程序员视图;外模式体现了数据库的用户观,称为用户视图。
用户视图有多个,而其他视图只有一个。
3.什么是数据独立性?数据库系统是如何实现数据独立性的?答数据独立性是指应用程序和数据之间相互独立、不受影响,即数据结构的修改不引起应用程序修改的特性。
数据独立性包括物理数据独立性和逻辑数据独立性。
物理数据独立性是指数据库物理结构改变时不必修改现有的应用程序。
逻辑数据独立性是指数据库逻辑结构改变时应用程序不用改变。
数据独立性是由DBMS的二级映象功能来保证的。
数据库系统通常采用外模式、模式和内模式三级结构,数据库管理系统在这三级模式之间提供了外模式/概念模式和概念模式/内模式两层映象,当整个系统要求改变模式时(增加记录类型,增加数据项)时,由DBMS 对各个外模式/概念模式的映象作相应改变,可以使外模式保持不变,由于应用程序是依据数据的外模式编写的,因而应用程序不必修改,保证了数据的逻辑独立性。
当数据的存储结构改变时,由DBMS对概念模式/内模式映象作相应改变,可以使模式不变,从而应用程序也不必改变,保证了数据的物理独立性。
第2章数据模型CHAPTER 02练习题2参考答案1.什么是关系?什么是关系框架?关系之间实现联系的手段是什么?什么是关系数据库?答关系是一张二维表,即元组的集合。
关系框架是一个关系的属性名表。
数据库表的创建、管理和数据操作(实验一),数据库创建

数据库表的创建、管理和数据操作(实验⼀),数据库创建数据库表的创建、管理和数据操作(实验⼀),数据库创建今天我们就以实验的形式对表的创建、管理和数据操作进⾏学习,上课吧。
【实验⽬的】:了解SQL语⾔的使⽤,进⼀步理解关系运算,巩固数据库的基础知识。
【实验要求】:利⽤SQL语⾔进⾏数据库表的各种操作:1.数据库表的创建、修改和删除操作。
2.向表中进⾏数据的插⼊、删除和修改操作。
【实验内容】1. 利⽤数据定义语句在实验⼀创建的stu_DB库中建⽴学⽣管理系统的三个表:Student、Course、SC。
2.利⽤INSERT、UPDATE和DELETE语句对上述三张表的数据进⾏插⼊、更新和删除操作。
3.在stu_DB库中添加Teacher和TC表,对已建⽴的学⽣管理系统中的表添加充⾜的数据(每个表不少于20条),以便完成本实验的后继操作。
【实验步骤】⼀、数据定义(⼀)表的创建在实验⼀创建的数据库stu_DB中分别⽤企业管理器和查询分析器,按下⾯的表结构创建学⽣管理系统的表。
1.利⽤企业管理器创建表(1)打开企业管理器。
(2)选中实验⼀创建好的数据库stu_DB,单击数据库中的表对象,然后右击窗⼝右侧选择新建表,弹出如图所⽰窗体。
(3)在这个窗体中,列名列就⽰表的字段名,可以在这个窗体中为字段选择数据类型和长度以及是否可以为空值。
(4)在此处可以为表选择⽂件组,在表中单击右键,选择属性,如果已经为数据库创建了⼀个次要组,可以在属性窗体的表⽂件组中为此表选择⽂件组。
应该把⼀些竞争使⽤的表放于不同的⽂件组中,并且让⽂件组属于不同磁盘,这样可以在表竞争读写时提⾼并发性能。
(5)创建完成后,单击磁盘图标,并为表取⼀个名字。
注意,应该为表取⼀个有意义的名字。
2.⽤Transact_SQL语句创建表语法为:CREATE TABLE[ database_name.[owner].] table_name( {column_name data_type [DEFAULT ‘default_value']|[CONSTRAINT CONSTRAINT_name]}, […n] [IDENTITY [(seed, increment )]])[ON { filegroup | DEFAULT }][TEXTIMAGE_ON {filegroup | DEFAULT }]【例1】⽣成⼀个表名为student的表create table student(sno CHAR(8) primary key,sname CHAR(10) not null,ssex CHAR (2) check (ssex='男'or ssex='⼥'),sage smallint,sdept CHAR (20) default ('计算机系'),)【例2】创建⼀张名为Ta1的表,此表中有3列,第⼀列Pid定义为主键,并且⾃动增长。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一SQL Server使用初步一、实验目的1、熟悉SQL Server2000的组成及基本功能。
2、掌握SQL Server2000的登录及注册。
3、掌握SQL Server2000企业管理器的使用方法。
4、熟悉查询分析器的基本使用。
二、实验预习1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些?答:DBMS是位于用户和操作系统之间的一层数据管理软件。
常见的DBMS主要有:Oracle、db2、SQL Server、MySQL、PostgreSQL、SQLite、Firebird等等。
2、SQL Server 2000(2005)的安装步骤?答:以企业版安装为例,步骤为:将企业版安装光盘插入光驱后,出现以下提示框。
请选择“安装 SQL Server 2000 组件”出现下面对话框后,选择 "安装数据库服务器" 。
选择 "下一步",然后选择 "本地计算机" 进行安装。
在 "安装选择" 窗口,选择 "创建新的SQL Server实例..."。
对于初次安装的用户,应选用这一安装模式,不需要使用 "高级选项" 进行安装。
"高级选项"中的内容均可在安装完成后进行调整。
在 "用户信息" 窗口,输入用户信息,并接受软件许可证协议。
在“安装定义”窗口,选择“服务器和客户端工具”选项进行安装。
在“实例名”窗口,选择“默认”的实例名称。
在“安装类型”窗口,选择“典型”安装选项,并指定“目的文件夹”。
在 "服务账号" 窗口,请选择 "对每个服务使用统一账户..." 的选项。
在 "身份验证模式" 窗口,选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。
最后按“下一步”即可完成安装。
检测安装:如果安装成功,应该能成功启动SQL Server,并且能和SQL Server 客户端连接上。
可以通过服务管理器来进行启动。
三、实验内容和要求1、注册服务器基本步骤:(1)打开企业管理器(2)右击SQL Server组→新建SQL Server注册(3)添加可用的服务器(实际数据库服务器的名称或IP地址)(4)选择身份验证模式(选“系统管理员分配给我的登录信息”)(5)输入正确的登录名和密码(6)选择SQL Server组(选“在现有的SQL Server组中添加SQL Server”)(7)完成注册若注册成功,则显示注册成功的信息。
2、连接SQL Server服务器(1)右键单击上面注册的数据库服务器,选择连接,建立与数据库服务器的连接。
观察连接后服务器图标的变化;(2)右键单击选择编辑SQL Server注册属性,观察已注册数据库服务器的属性信息;(3)右键单击选择删除SQL Server注册。
为保证数据库的安全性,使用完毕自己的数据库后,可采取删除的方式,断开与数据库的连接;(4)重复注册服务器的步骤,再次建立与数据库的连接;3、熟悉企业管理器(1)单击建立的服务器连接,观察服务器的7个项目,写出它们的名称。
通过查看联机帮助,总结7个项目的基本功能。
(2)单击数据库,观察Northwind数据库下的11个项目,写出项目名称,通过联机帮助了解它们的基本功能。
(3)查看Northwind的表项目,单击表,观察表的名称、所有者、类型以及创建日期。
回答:▪这些表的所有者有哪几种?▪这些表的类型有哪几种?▪选择表Employees,在右键菜单中选择打开表->返回所有行,观察表中的数据,说出这些数据的实际含义。
观察其他用户类型的表,你还能说出它们数据的实际含义吗?(4)查看Northwind的视图项目,单击视图,观察视图的名称、所有者、类型以及创建日期。
选择视图Product Sales for 1997,同上面观察表中数据的方法一样,观察视图中的数据,说出这些数据的意义。
(5)查看Northwind的用户项目,单击用户。
回答:▪有哪类用户?查看它们的属性对话框,它们的角色和权限是否相同?▪通过联机帮助,写出dbo、Guest用户的区别。
(6)查看Northwind的角色项目,单击角色。
回答:▪有哪些角色类型?通过查看联机帮助,写出它们各自的含义和作用。
(7)查看Northwind的安全性项目,单击项目中的登录,观察不同的登录名称、类型、服务器访问、默认数据库,找到你自己的登录名称,右键单击打开属性对话框,观察对话框中的设置,写出登录属性对话框中的设置作用。
4、熟悉查询分析器(1)打开查询分析器。
基本步骤:▪单击注册的数据库服务器,确定服务器已经连接;▪在主菜单“工具”中选择“SQL查询分析器”;▪在打开的查询分析器窗口中,左侧的对象浏览器为注册的服务器,在工具栏的数据库选择中选择Northwind数据库为当前数据库;右侧窗口为查询窗口。
(2)分别在查询窗口中输入如下查询语句,观察查询结果,写出结果的数据记录个数:查询语句1:SELECT *FROM ShippersORDER BY CompanyName结果记录数:3查询语句2:SELECT FirstName, HomePhoneFROM Northwind.dbo.EmployeesORDER BY FirstName ASC结果记录数:9查询语句3:SELECT ROUND( (UnitPrice * .9), 2) AS DiscountPriceFROM ProductsWHERE ProductID = 58结果记录数:1查询语句4:SELECT OrderID,DATEDIFF(dd, ShippedDate, GETDATE() ) AS DaysSinceShipped FROM Northwind.dbo.OrdersWHERE ShippedDate IS NOT NULL结果记录数:809查询语句5:SELECT ProductID, ProductNameFROM Northwind.dbo.ProductsWHERE CategoryID = 1 OR CategoryID = 4 OR CategoryID = 5结果记录数:29四、实验小结五、评阅成绩实验二数据定义一、实验目的1、掌握SQL数据定义功能:数据库定义、表的定义、索引定义。
2、掌握利用企业管理器和SQL语句定义表、索引的方法。
二、实验预习1、SQL中基本表定义语句格式:2、SQL中修改基本表语句格式:三、实验内容和要求1、在企业管理器中,利用菜单操作的方式在各自的数据库中建立如下四个基本表:(1)供应商表S:(2)零件表P:(3)工程项目表J:(4)供应情况表SPJ:2、用CREATE语句建立如下三个表,并写出相应的语句。
语句:CREATE TABLE Student(Sno char(7) PRIMARY KEY,Sname char(10) not null,Ssex char(2) CHECK(Ssex='男' or Ssex='女'),Sage smallint CHECK(Sage>=15 and Sage<=45),Sdept char(20) DEFAULT '计算机系')(2)课程表Course:语句:CREATE TABLE Course(Cno char(10) PRIMARY KEY,Cname varchar(20) NOT NULL,Ccredit smallint check(ccredit>0),semster smallint check(semster >0),period smallint check(period>0))CREATE TABLE SC(Sno char(7),Cno char(10),Grade smallint check(grade>=0),PRIMARY KEY (Sno,Cno),FOREIGN KEY (Cno) REFERENCES Course(Cno),FOREIGN KEY (Sno) REFERENCES Student(Sno))3、利用SQL语句对表结构进行修改。
(1)为零件表P增加一个规格(GUIGE)列,数据类型为字符,长度50;Alter Table P Add GUIGE char(50)(2)修改课程表Course的CNAME属性列的类型为VARCHAR(30);Alter Table Course Alter Column CNAME varchar(30)(3)为供应情况表SPJ添加参照完整性约束;SPJ的SNO列参照S表SNO列Alter Table SPJ Add Foreign Key (SNO) References S(SNO)SPJ的PNO列参照P表PNO列Alter Table SPJ Add Foreign Key (PNO) References P(PNO)SPJ的JNO列参照J表JNO列Alter Table SPJ Add Foreign Key (JNO) References J(JNO)(4)删除零件表P的规格(GUIGE)列Alter Table P Drop Column GUIGE4、利用企业管理器向表中添加数据(1)供应商表S:继续往表中增加一条记录:四个字段的数据分别是S1,东方红,30,北京,会出现什么情况?为什么?不能增加,因为SNO是主键,不能取重复值。
(2)零件表P:是否能够正常输入三条数据?如果否,问题出在哪里,为什么?第三条记录不能输入,因为P3的WEIGHT属性取值违法了其检查约束。
(3)工程项目表J:第三条记录是否能够正常输入,若否,会出现什么问题,为什么?第三条记录不能输入,因为JNAME不能取NULL值。
(4)供应情况表SPJ:输入过程中是否会遇到问题,若有,出在哪,为什么?第三条记录不能输入,因为在工程项目表J中没有J3,破坏了参考完整性。
四、实验小结五、评阅成绩实验三数据查询一、实验目的1、掌握查询语句的基本组成和使用方法2、掌握常用查询技巧二、实验预习1、SQL中查询语句格式:2、连接查询有哪些不同的连接方式?有什么特点。
三、实验内容和要求1、按照下表中的内容,在企业管理器中为数据库表输入相应的数据。
选课表:SC2、完成下列查询(1)查询全体学生的信息。
select * from student(2)查询“信息系”学生的学号,姓名和出生年份。