同济大学数据库实验5答案

合集下载

数据库理论与技术课程实验报告五(参考解答)(1)

数据库理论与技术课程实验报告五(参考解答)(1)

宁波工程学院数据库理论与技术课程实验报告学院:电子与信息工程学院专业:计算机科学与技术班级:计科15- 实验时间: 2017年5月10日学号姓名成绩__ ___ __学号姓名成绩__ ___ __学号姓名成绩__ ___ __学号姓名成绩__ ___ __备注:排名第一的学生为组长,负责此实验任务的组织和分配,负责实验报告的整合和提交。

指导教师签字:实验五:SQL Server的综合练习一、实验目的和要求1、巩固并掌握数据定义语言的使用,正确认识创建数据库和数据表语句的作用,进一步理解数据类型和各类约束对实现数据完整性的重要性;2、巩固并掌握数据操纵语言的使用,正确认识数据查询和数据更新语句的作用,熟练掌握数据查询语句的使用;3、巩固并掌握创建视图语句的格式和功能,理解视图创建三个选项的含义,熟练掌握视图的一般应用。

4、要求学生在每次实验前,根据实验目的和内容设计出本次实验的具体步骤;在实验过程中,要求独立进行程序调试和排错,学会使用在线帮助和运用理论知识来分析和解决实验中遇到的问题,并记录实验的过程和结果;上机实验结束后,根据实验模板的要求写出实验报告,并对实验过程进行分析和总结。

二、实验内容与过程记录某仓储超市采用POS(Point of Sale)收银机负责前台的销售收款,为及时掌握销售信息,并依此指导进货,拟建立商品进、销、存数据库信息管理系统。

经过系统需求分析、概念结构设计和逻辑结构设计,可以简化得到如下一组关系模式(其中表示主键,表示外键):积分卡(用户编号,用户名,累积消费金额,积分点)销售详单(销售流水号,商品编码,数量,金额,用户编号,收银员,时间)销售日汇总(日期,商品编码,数量)存货表(商品编码,数量)进货表(送货号码,商品编码,数量,日期)商品(商品编码,商品名称,单价)请在SQL Server的查询分析器中按要求完成如下各题:1、创建名为Supermarket的数据库,数据文件名取为:Supermarket_data.mdf,日志文件名取为:Supermarket_log.ldf。

同济大学数据库-实验一 答案

同济大学数据库-实验一 答案

实验一讲解By Zhu Jing12主窗体MainForm 运行界面0.主窗体项目解决方案资源管理器主窗体主要属性设置:IsMdiContainer为True(设置主窗体为多文档界面容器);WindowState为Maximized(运行时最大化)3•主窗体代码:Public Class MainFormPrivate Sub 退出ToolStripMenuItem_Click(…) …Application.Exit()End SubPrivate Sub 实验1ToolStripMenuItem_Click(…) …Dim f1 As New shiyan1()f1.MdiParent = Mef1.Show()End SubPrivate Sub 实验2ToolStripMenuItem_Click(…) …Dim f2 As New shiyan2()f2.MdiParent = Mef2.Show()End Sub4Private Sub 实验3ToolStripMenuItem_Click(…)…Dim f3 As New shiyan3()f3.MdiParent = Mef3.Show()End SubPrivate Sub 实验4ToolStripMenuItem_Click(…) …Dim f4 As New shiyan4()f4.MdiParent = Mef4.Show()End SubPrivate Sub 实验5ToolStripMenuItem_Click(...) …Dim f5 As New shiyan5()f5.MdiParent = Mef5.Show()End Sub.5Private Sub 实验6ToolStripMenuItem_Click(…) …Dim f6 As New shiyan6()f6.MdiParent = Mef6.Show()End SubPrivate Sub 实验7ToolStripMenuItem_Click(…) …Dim f7_1As New shiyan7_1()f7_1.Show()End SubPrivate Sub 实验8ToolStripMenuItem_Click(…) …Dim f8 As New shiyan8()f8.MdiParent = Mef8.Show()End SubEnd Class61. 实验1:文本框练习7•实验1代码:Public Class shiyan1Private Sub Button1_Click(…) …'隶书按钮TextBox1.Font = New Font("隶书", 25,FontStyle.Bold Or FontStyle.Italic) End SubPrivate Sub Button2_Click(…) …'幼圆按钮TextBox1.Font = New Font("幼圆", 18,FontStyle.Italic Or FontStyle.Underline) End Sub8Private Sub Button3_Click(…) …'复制按钮TextBox2.Text = TextBox1.SelectedTextTextBox2.Font = TextBox1.FontEnd SubEnd Class92. 实验2:求鸡和兔的个数10实验2代码:Public Class shiyan2Private Sub TextBox2_KeyDown(…) …If e.KeyCode = Keys.Enter ThenDim x, y As Integer 'x--鸡数,y--兔数If Not IsNumeric(TextBox1.Text.Trim) ThenMessageBox.Show("'头数'必须输入数字", "警告")TextBox1.Text = ""TextBox3.Text = ""Exit SubEnd If11If Not IsNumeric(TextBox2.Text.Trim) Then MessageBox.Show("'脚数'必须输入数字", "警告") Me.TextBox2.Text = ""Me.TextBox3.Text = ""Exit SubEnd IfIf Val(TextBox2.Text.trim) Mod 2 <> 0 Then MessageBox.Show("脚必须是双数", "警告")TextBox2.Focus()Exit SubEnd If12x = Val(4 * TextBox1.Text -TextBox2.Text) / 2y = Val(TextBox2.Text -2 * TextBox1.Text) / 2If x < 0 Or y < 0 Then '若头数是负数MsgBox("荒唐解,请重新输入!")Me.TextBox3.Text = ""ElseTextBox3.Text = x & " " & yEnd IfEnd IfEnd SubEnd Class13143. 实验3:求解1元2次方程的根实验3运行界面实验3代码:Imports System.MathPublic Class shiyan3Dim a, b, c, disc, realpart, imagpart As DoublePrivate Sub Button1_Click(…) …'计算按钮If String.IsNullOrEmpty(TextBox1.Text.Trim()) And String.IsNullOrEmpty(TextBox2.Text.Trim()) ThenMsgBox("请为a,b赋值")Exit SubEnd IfIf TextBox1.Text.Trim() = "" ThenTextBox1.Text = 0End If15If TextBox2.Text.Trim() = "" ThenTextBox2.Text = 0End IfIf TextBox3.Text.Trim() = "" ThenTextBox3.Text = 0End Ifa = TextBox1.Text.Trimb = TextBox2.Text.Trimc = TextBox3.Text.TrimIf a = 0 Then 'a为0时If b<> 0 Then 'a为0,b不为0时TextBox4.Text = Round(-c / b, 2)TextBox5.Text = ""GroupBox1.Text = "不是2次方程,只有一个根"Else 'a,b都为0时MsgBox("a,b不能同时为0")End If16Elsedisc = b * b -4 * a * cIf disc = 0 Then ' disc为0时GroupBox1.Text = "有两个相同的实根"TextBox4.Text = Round(-b / (2 * a), 2)TextBox5.Text = Round(-b / (2 * a), 2)ElseIf disc > 0 Then ' disc 大于0时GroupBox1.Text = "有两个不同的实根"TextBox4.Text =Round((-b + Sqrt(disc)) / (2 * a), 2)TextBox5.Text =Round((-b -Sqrt(disc)) / (2 * a), 2)Else ' disc小于0时GroupBox1.Text = "有两个不同的虚根"realpart = Round(-b / (2 * a), 2)imagpart = Round(Sqrt(-disc) / (2 * a), 2)17TextBox4.Text = realpart & "+" & imagpart & "i"TextBox5.Text = realpart & "-" & imagpart & "i"End IfEnd IfEnd SubPrivate Sub Button2_Click(…) …'结束按钮Me.Close()End SubEnd Class18194. 实验4:生成随机数实验4运行界面实验4代码:Imports System.MathPublic Class shiyan4Dim a(9), i As IntegerDim max, min As IntegerDim avg As DecimalPrivate Sub shiyan4_Load(…) …avg = 0max = 0min = 100Randomize() '为随机函数产生不同的初始种子For i = 0 To 9a(i) = Int(Rnd(i) * (100 -30 + 1) + 30)'生成一个随机数,int是强制类型转换函数20If min > a(i) Then min = a(i)If max < a(i) Then max = a(i)avg = avg + a(i)Nextavg = Round(avg / 10, 2)'求平均值,四舍五入到小数后2位For i = 0 To 9TextBox1.Text &= a(i) & " "NextTextBox1.Text &= vbCrLf & vbCrLf & "min=" & min & " " & "max=" & max & " " & "avg=" & avg'vbCrLf为:回车+换行End SubEnd Class21225. 实验5:判断回文数实验5运行界面23实验5代码设计:Module Module1'实验5中使用的函数Function IsH (ByVal s As String) As Booleanish = TrueFor i As Integer = 1 To s.LengthIf Mid(s, i, 1) <> Mid(s, s.Length -i + 1, 1) Then ish = FalseExit ForEnd IfNextEnd FunctionEnd Module a .首先为“实验一”项目添加一个模块module1,在其中定义一个判断回文数函数ISH 。

数据库第五章课后习题答案

数据库第五章课后习题答案

关系规范化理论题目4.20 设关系模式R(ABC),F是R上成立的FD集,F={B→A,C→A },ρ={AB,BC }是R上的一个分解,那么分解ρ是否保持FD集F?并说明理由。

答:已知F={ B→A,C→A },而πAB(F)={ B→A },πBC(F)=φ,显然,分解ρ丢失了FD C→A。

4.21 设关系模式R(ABC),F是R上成立的FD集,F={B→C,C→A },那么分解ρ={AB,AC }相对于F,是否无损分解和保持FD?并说明理由。

答:①已知F={ B→C,C→A },而πAB(F)=φ,πAC(F)={ C→A }显然,这个分解丢失了FD B→C②用测试过程可以知道,ρ相对于F是损失分解。

4.22 设关系模式R(ABCD),F是R上成立的FD集,F={A→B,B→C,A→D,D→C },ρ={AB,AC,BD }是R的一个分解。

①相对于F,ρ是无损分解吗?为什么?②试求F在ρ的每个模式上的投影。

③ρ保持F吗?为什么?答:①用测试过程可以知道,ρ相对于F是损失分解。

②πAB(F)={ A→B },πAC(F)={ A→C },πBD(F)=φ。

③显然,分解ρ不保持FD集F,丢失了B→C、A→D和D→C等三个FD。

4.23 设关系模式R(ABCD),R上的FD集F={A→C,D→C,BD→A},试说明ρ={AB,ACD,BCD }相对于F是损失分解的理由。

答:据已知的F集,不可能把初始表格修改为有一个全a行的表格,因此ρ相对于F是损失分解。

4.24 设关系模式R(ABCD)上FD集为F,并且F={A→B,B→C,D→B}。

①R分解成ρ={ACD,BD},试求F在ACD和BD上的投影。

②ACD和BD是BCNF吗?如不是,望分解成BCNF。

解:①F在模式ACD上的投影为{A→C,D→C},F在模式BD上的投影为{D→B}。

②由于模式ACD的关键码是AD,因此显然模式ACD不是BCNF。

数据库实验五答案

数据库实验五答案

数据库实验五答案1.创建一个存储过程,查看001号课程的选修情况,包括学生学号、姓名和成绩,然后执行该过程;create procedure s11asselect student.sno,sname,scorefrom student join sc on student.sno=sc.snowhere cno='001'goexecute s112.创建一个存储过程,通过学生学号来查询学生选修情况,包括学生学号、姓名和成绩,然后执行该过程;create procedure s12 @cnumber char(5)asselect student.sno,sname,scorefrom student join sc on student.sno=sc.snowhere student.sno= @cnumbergoexecute s12 '00001'3.创建一个存储过程,通过学生学号来查询学生选修情况,默认查询学号为00001的选修情况,包括学生学号、姓名和成绩,然后执行该过程;create procedure s13 @cnumber char(5)='00001'asselect student.sno,sname,scorefrom student join sc on student.sno=sc.snowhere student.sno= @cnumbergoexecute s13 '00005'execute s134.创建一个存储过程,获得选修某门课程的总人数,然后在执行该过程后把总人数显示出来;create procedure s14 @cnumber char(5),@ccount int outputasselect @ccount=count(*) from sc where o=@cnumbergodeclare @ccount intexecute s14 '001' ,@ccount outputselect @ccount5.创建一个存储过程,通过学号和课程号进行成绩查询,如果查询结果为空,则显示“该学生没有选这门课”,返回0,如果查询结果低于60分,则显示“该学生考试成绩不及格”,返回1,如果查询结果在60-85之间,则显示“该学生考试成绩为良”,返回2,如果查询结果大于85,则显示“该学生考试成绩为优秀”,返回3,然后执行该过程查询学号00001的选课成绩,并把返回结果显示出来。

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书 - 答案实验一:数据库管理系统的安装与配置问题一数据库管理系统(DBMS)是一种软件,用于管理和组织数据库。

它允许用户创建,读取,更新和删除数据库中的数据。

常见的数据库管理系统有MySQL,Oracle,SQL Server等。

问题二在实验室环境中,我们将使用MySQL作为我们的数据库管理系统。

以下是MySQL的一些常见特点: - 开源免费 - 跨平台支持 - 可扩展性强 - 有大型的用户社区和丰富的资源支持问题三MySQL的安装步骤如下: 1. 下载MySQL安装文件,可以从MySQL官方网站或者其他可信的下载源获取。

2. 运行安装程序,按照向导的指示进行安装。

3. 选择是否要安装MySQL 服务器和MySQL工具。

4. 设置密码以保护数据库的安全。

5. 完成安装程序并启动MySQL服务。

数据库是一个组织和存储数据的容器。

在关系型数据库中,数据以表的形式存储,每个表包含多个行和列。

每行代表一个记录,每列代表一个字段。

问题五关系型数据库管理系统(RDBMS)是一种DBMS,它使用结构化查询语言(SQL)来操作和处理数据。

常见的关系型数据库管理系统有MySQL,Oracle,SQL Server等。

问题六开放数据库连接(ODBC)是一种标准的数据库访问方法,它允许不同的应用程序通过统一的接口访问不同的数据库管理系统。

ODBC驱动程序充当应用程序和数据库之间的翻译器。

问题七在Windows系统中,ODBC数据源可以通过控制面板的“管理工具”来配置。

在数据源配置对话框中,可以添加,编辑和删除ODBC数据源。

在Windows系统中,可以使用ODBC接口库和ODBC驱动程序来连接和操作数据库。

具体步骤如下: 1. 加载ODBC接口库。

2. 初始化ODBC环境。

3. 建立数据库连接。

4. 执行SQL语句。

5. 关闭数据库连接。

6. 释放ODBC环境。

问题九ODBC接口库是一组API函数,用于连接和操作数据库。

实验5答案——精选推荐

实验5答案——精选推荐

实验D05:数据操作与索引实验一、实验名称和性质二、实验目的1.掌握数据操作--插入、删除、修改;2.掌握数据表的索引方法;3.掌握视图的创建机制及其上的操作。

七、设计性实验1.实验要求(1)将S表系部为“计算机系”学生对应的系部改为‘CS’。

Update sSet depa=’CS’ where depa=’计算机系’(2)创建一个与SC表相同新数据表SCNEW,查询SC表中成绩为空的记录并将其复制到SCNEW 表中。

Select * into SCNEW from sc where grade is not null(3)删除SC表中成绩为空的选课记录。

Delete from sc where grade is null(4)根据S表中姓名字段建立唯一性索引。

Create unique index ui_s_sname on s(sname) 提示:因为S中有重名学生,所以不能建立姓名字段的唯一索引(5)建立S表上SNO的聚族索引。

Create clustered index ci_s_sno on s(sno)(6)建立SC表上根据SNO升序,CNO降序的复合索引。

Create index i_sc_snocno on sc(sno, cno desc)(7)建立每门课程的课程号、课程名、选课人数、平均分的视图。

Create view vCourseAsSelect o, cname, count(sno) selectNum, avg(grade) avgGrade from sc, c Where o=oGroup by o,cname2.思考题(1)是否任何可以对任意的视图进行修改?什么样的视图上不能进行修改操作?答:不是任何试图都可以进行修改,当视图中存在聚集函数或者其他函数计算时不能修改视图。

(2)如果表中某个字段重复值比较多,要不要在该字段上建立索引?为什么?答:若表中某个字段的重复值比较多,则不要在该字段上建立索引。

数据库原理及应用最全上机实验及实验答案

数据库原理及应用最全上机实验及实验答案

实验一 SQL Server 2005 的安装和环境介绍一.实验目的与要求:1.掌握SQL Server 2005 服务器的安装方法2.了解SQL Server 2005 的环境3.了解数据库及其对象二.实验准备1.了解SQL Server 2005的版本2.了解SQL Server 2005各版本对硬件和软件的需求三.实验要求1.写出SQL SERVER 2005的功能与特点, 使用方法, 应用状况的报告2.完成SQL SERVER 2005的安装、启动、登录。

四.实验内容1.安装SQL Server 2005实验一 SQL Server 2005 的安装和环境介绍●实验指导——安装SQL Server 20051.根据安装机器软硬件的要求,选择一个合适的版本,以下以开发版为例2.将 SQL Server 2005 DVD 插入 DVD 驱动器。

如果DVD驱动器的自动运行功能无法启动安装程序无法启动安装程序,请导航到 DVD 的根目录然后启动splash.hta。

3.在自动运行的对话框中,单击“运行 SQL Server 安装向导”。

4.在“最终用户许可协议”页上,阅读许可协议,再选中相应的复选框以接受许可条款和条件。

接受许可协议后即可激活“下一步”按钮。

若要继续,请单击“下一步”若要结束安装程序,请单击“取消”。

如下图:5.在“SQL Server 组件更新”页上,安装程序将安装 SQL Server 2005 的必需软件。

有关组件要求的详细信息,请单击该页底部的“帮助”按钮。

若要开始执行组件更新,请单击“安装”。

更新完成之后若要继续,请单击“完成”。

6.在 SQL Server 安装向导的“欢迎”页上,单击“下一步”以继续安装。

7.在“系统配置检查 (SCC)”页上,将扫描安装计算机,以检查是否存在可能妨碍安装程序的条件。

8.在“注册信息”页上的“姓名”和“公司”文本框中,输入相应的信息。

数据库实验报告及答案

数据库实验报告及答案

实验任务书(实验一、实验二)课程名称:数据库原理与技术实验报告要求:1.列出所有的SQL语句和源代码;2.程序要求有适当的注释;3.对数据完整性约束实施要求给出相应的测试用例。

4.实验报告提交电子档。

实验内容:一:创建表、更新表和实施数据完整性1.运行给定的SQL Script,建立数据库GlobalToyz。

2.了解表的结构,建立所有表的关系图。

3.利用系统定义的存储过程sp_helpdb查看数据库的相关信息,例如所有者、大小、创建日期等。

4.查看所有表中出现的约束(包括Primary key, Foreign key, check constraint, default, unique)5.把价格在$20以上的所有玩具的信息拷贝到称为PremiumToys的新表中。

SELECT*INTO PremiumToysFROM ToysWHERE Toys.mToyRate>20;6.对表Toys实施下面数据完整性规则:(1)玩具的现有数量应在0到200之间;(2)玩具适宜的最低年龄缺省为1。

ALTER TABLE ToysADD CONSTRAINT C1CHECK (siToyQoh BETWEEN 0 AND 200);ALTER TABLE ToysADD CONSTRAINT C2default(1)for siLowerAge;7.给id为‘000001’玩具的价格增加$1。

update Toys set mToyRate=mToyRate+1 where cToyId='000001';8. 列出表PickofMonth中的所有记录,并显示中文列标题。

SELECT cToyId[玩具编号],siMonth[生产月份],iYear[生产年份],iTotalSold [销售总量]FROM PickofMonth;二:查询数据库1.显示属于California和Illinoi州的顾客的名、姓和emailID。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档