云南大学大数据库期末大作业:大数据库设计

合集下载

期末大作业:数据库设计

期末大作业:数据库设计

期末大作业:学生毕业设计数据库设计一、实验目的(1)掌握数据库设计的基本方法(2)掌握各种数据库对象的设计方法二、实验内容1.数据库概要设计:用文字简要描述实体之间的联系,画出E-R图(标出各联系中实体的基数)。

实体之间关系:主要是以学生基本信息这个实体为一个中心,首先涉及的就是实习单位信息的问题,这个部分是一个实习单位对应多个学生的关系,再后就是论文的问题,这个也是一个论文对应多个学生,而一个学生只能对应一个论文题目的关系,最后涉及的一个就是学生和导师之间的关系,这部分又可以分为两种情况,主要是视学生的实习方式而定,分校内实习和校外实习两种,在校内实习中,是一个学生对应一个老师,而一个老师则可以对应多个学生的关系,校外实习的情况稍有不同,一个学生可以对应两个老师,而一个老师则可以对应多个学生的关系。

下面是实体关系图:2、数据表设计:将E-R图转换为数据表,给出创建各表的SQL语句。

数据库的创建:create database学生毕业设计on primary(name=学生毕业设计,filename='f:\学生毕业设计.mdf',size=20mb,maxsize=50mb,filegrowth=10%)log on(name=学生毕业设计_log,filename='f:\学生毕业设计_log.ldf', size=15mb,maxsize=30mb,filegrowth=10%)go建表:use学生毕业设计create table实习单位信息(单位编号char(4)not null,实习单位varchar(50)not null,联系电话varchar(20),通信地址varchar(50),邮编char(6),primary key(实习单位))create table校内教师信息(教师编号char(4)not null,校内教师varchar(20)not null,性别char(2),专业名称varchar(20),职称varchar(20),职务varchar(20),primary key(校内教师))create table校外教师信息(教师编号char(4)not null,校外教师varchar(20)not null,性别char(2),部门varchar(20),职称varchar(20),职务varchar(20),primary key(校外教师))create table论文信息(论文ID char(6),论文题目varchar(50)not null,要求varchar(100),primary key(论文题目))create table学生基本信息(学号char(8)not null,姓名varchar(20)not null,性别char(2),出生日期datetime,专业名称varchar(20)not null,籍贯varchar(20),实习单位varchar(50),校内教师varchar(20)not null,校外教师varchar(20),论文题目varchar(50),primary key(学号),foreign key(实习单位)references实习单位信息(实习单位),foreign key(校内教师)references校内教师信息(校内教师),foreign key(校外教师)references校外教师信息(校外教师),foreign key(论文题目)references论文信息(论文题目))3、完整性约束:根据需要给数据表添加数据完整性,并说明添加的理由。

大学数据库管理系统期末考试题库及答案

大学数据库管理系统期末考试题库及答案

大学数据库管理系统期末考试题库及答案选择题(每题2分)
1. 数据库的定义是:()
A. 文件管理系统
B. 存放数据的仓库
C. 存放数据的干草堆
D. 存放数据的操作系统
2. 下面不属于关系数据库特点的是:()
A. 实现了数据的共享性
B. 储存维护数据的程序和数据是分离的
C. 数据具有冗余性
D. 有数据结构和完整性约束的实现机制
3. 在定义关系模式时,应指明其下列哪几个方面?()
A. 元组的组成
B. 属性的含义与名称
C. 属性的可取值范围和类型
D. 约束条件
4. 下列哪种技术可用于备份数据库?()
A. 每日回滚
B. 磁盘阵列
C. 数据库快照
D. 服务器镜像
填空题(每空2分)
1. 数据库管理员的英文缩写是 ________。

2. 触发器的语法格式包括:CREATE TRIGGER 触发器名________ 操作类型 ON 表名 ________ 触发事件 AS ________。

3. 设计一个订单管理的关系模式,其中包含表格Order、Product、Customer等,要求Order表格中的外键是分别来自于Product和Customer的 ________ 。

4. 数据库中的ACID是指事务具有的原子性、 ________ 、隔离性和持久性四个特性。

简答题(每题10分)
1. 什么是数据库的粒度?请举例说明。

2. 请谈谈您是如何设计ER图的?
3. 什么是SQL注入?
论述题(40分)
1. 如何进行优化数据库性能?请从以下三个方面论述:调整数据库参数、优化表格和SQL语句优化。

数据库大作业实践报告(2篇)

数据库大作业实践报告(2篇)

第1篇一、引言随着信息技术的飞速发展,数据库技术在各行各业中的应用越来越广泛。

为了更好地掌握数据库的基本原理和应用方法,提高自己的实践能力,我选择了数据库大作业作为实践课题。

本文将详细阐述我在数据库大作业实践过程中的收获和体会。

二、实践背景与目标1. 实践背景数据库是存储、管理和处理数据的系统,广泛应用于各类信息系统中。

数据库技术是计算机科学的一个重要分支,它涵盖了数据库设计、实现、维护和应用等方面。

为了提高自己的数据库应用能力,我决定进行一次数据库大作业实践。

2. 实践目标(1)掌握数据库设计的基本原理和方法;(2)熟练运用数据库开发工具进行数据库设计、实现和测试;(3)提高数据库应用能力,为今后从事数据库相关领域的工作奠定基础。

三、实践内容与过程1. 实践内容本次数据库大作业以设计一个图书管理系统为例,实现以下功能:(1)图书信息管理:包括图书的增加、删除、修改和查询;(2)读者信息管理:包括读者的增加、删除、修改和查询;(3)借阅信息管理:包括借阅记录的增加、删除、修改和查询;(4)统计报表:包括图书借阅统计、读者借阅统计等。

2. 实践过程(1)需求分析在实践过程中,首先进行需求分析,明确系统功能、性能和用户需求。

通过查阅相关资料,了解到图书管理系统需要具备图书信息管理、读者信息管理、借阅信息管理和统计报表等功能。

(2)数据库设计根据需求分析,设计数据库表结构。

本次实践采用关系型数据库MySQL,设计以下表:1)图书信息表(Book):包括图书编号、书名、作者、出版社、出版日期、价格等字段;2)读者信息表(Reader):包括读者编号、姓名、性别、出生日期、联系电话等字段;3)借阅信息表(Borrow):包括借阅编号、图书编号、读者编号、借阅日期、归还日期等字段。

(3)数据库实现使用MySQL数据库开发工具,根据设计的表结构创建数据库和表。

然后,编写SQL 语句实现图书信息、读者信息和借阅信息的增删改查操作。

云南大学数据仓库期末复习.docx

云南大学数据仓库期末复习.docx

章1:1、自然演化体系存在3个问题●数据可信性。

●生产率。

●数据转化为信息的不可行性2、数据可靠性问题的5个原因●数据无时基。

●数据算法上的差异。

●抽取的多层次。

●外部数据问题。

●无起始公共数据源3、体系化结构中的俩种数据及其区别●原始数据是维持企业日常运作所需的细节性数据;导出数据是要经过汇总或计算来满足公司管理者需要的数据。

●原始数据可以更新;导出数据可以重新计算得出,但不能直接进行更新。

●原始数据主要是当前值数据;导出数据通常为历史数据。

●原始数据由以重复方式运行的过程操作;导出数据有启发式而非重复的运行的程序与过程操作。

●操作型数据是原始的;DSS数据是导出的。

●原始数据支持日常工作;导出数据则支持管理工作。

4、体系化结构四个层次要点:名字、特点、时间跨度、data用途、应用领域(服务对象)●操作层:细节的日常的当前值的访问频繁的面向应用的●原子/数据仓库层:大部分是粒度化数据随时间变化的集成的面向主题一些汇总●部门层:领域狭隘一些导出数据;一些原始数据典型的部门:财务、市场、工程、保险、制造●个体层:暂时的为特定目的的启发式的非重复的基于PC和工作站的5、传统软件开发生命周期与数据仓库开发生命周期传统的S D L C• 收集需求• 分析• 设计• 编程• 调试• 集成• 实现requirement-driven需求驱动的、瀑布式模型数据仓库S D L C• 实现数据仓库• 集成数据• 检验偏差• 针对数据编程• 设计D S S系统• 分析结果• 理解需求数据驱动的、螺旋式模型章2:1、数据仓库定义数据仓库是一个面向主题的、集成的、非易失的且随时间变化的数据集合,用来支持管理人员的决策。

2、元数据定义数据的所有者、数据的提供方式等有关的信息(是关于数据的数据)3、粒度带来的优势及定义定义:粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。

细化程度越高,粒度级就越小;相反,细化程度越低,粒度级就越大。

数据库系统大作业设计总结

数据库系统大作业设计总结

数据库系统大作业设计总结在进行数据库系统大作业设计的过程中,我通过学习与实践,深入了解了数据库系统的原理与应用。

在设计总结中,我将从需求分析、数据库模型设计以及系统实现和优化等方面进行总结。

首先,在进行大作业设计之前,我进行了充分的需求分析。

通过与客户沟通和讨论,我了解到了他们的具体需求和期望。

在这个阶段,我主要关注数据的组织结构、数据之间的关系以及用户的查询需求等方面。

通过对需求的深入分析,我能够更好地设计数据库模型和优化系统性能。

其次,根据需求分析的结果,我进行了数据库模型的设计。

在这一步骤中,我使用了ER图来表示实体和实体之间的关系,并将其转化为关系模式。

在设计过程中,我注重规范化以及模型的简洁性和灵活性。

通过合理地选择主键、外键和索引等,我能够保证数据的完整性和一致性,提高系统的查询效率。

在数据库模型设计完成后,我开始着手实现系统。

我选择了合适的数据库管理系统以及编程语言,并根据设计的模型创建了相应的表和约束。

在编写查询语句时,我注重语句的效率和可读性,避免了潜在的性能问题。

同时,我还进行了系统的安全性设计,包括用户权限管理和数据加密等措施,以确保数据的机密性和完整性。

在系统实现完成后,我进行了一系列的性能优化工作。

首先,我对系统的查询语句进行了优化,通过合理地使用索引和优化查询计划等手段,提高了查询的效率。

其次,我对数据库的表结构进行了优化,包括拆分大表、合并小表以及优化字段类型和长度等。

最后,我还对系统进行了压力测试和性能调优,通过监控和调整系统的各项指标,提高了系统的并发处理能力和响应速度。

总的来说,数据库系统大作业设计是一项复杂而又有挑战性的任务。

通过这次设计,我不仅掌握了数据库系统的基本原理和应用技巧,还提高了自己的分析和设计能力。

同时,我还深刻体会到了数据库设计对系统性能的重要性,以及如何通过合适的优化手段提高系统的性能和可用性。

这次设计为我今后在数据库领域的学习和工作打下了坚实的基础。

2022年云南大学滇池学院数据科学与大数据技术专业《数据库系统原理》科目期末试卷A(有答案)

2022年云南大学滇池学院数据科学与大数据技术专业《数据库系统原理》科目期末试卷A(有答案)

2022年云南大学滇池学院数据科学与大数据技术专业《数据库系统原理》科目期末试卷A(有答案)一、填空题1、关系规范化的目的是______。

2、DBMS的完整性控制机制应具备三个功能:定义功能,即______;检查功能,即______;最后若发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。

3、SQL Server中数据完整性包括______、______和______。

4、在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的依赖关系和______。

5、____________和____________一起组成了安全性子系统。

6、从外部视图到子模式的数据结构的转换是由______________实现;模式与子模式之间的映象是由______________实现;存储模式与数据物理组织之间的映象是由______________实现。

7、若事务T对数据对象A加了S锁,则其他事务只能对数据A再加______,不能加______,直到事务T释放A上的锁。

8、使某个事务永远处于等待状态,得不到执行的现象称为______。

有两个或两个以上的事务处于等待状态,每个事务都在等待其中另一个事务解除封锁,它才能继续下去,结果任何一个事务都无法执行,这种现象称为______。

9、数据仓库是______、______、______、______的数据集合,支持管理的决策过程。

10、有两种基本类型的锁,它们是______和______。

二、判断题11、投影操作是对关系表进行水平方向的分割。

()12、在SQL中,ALTERTABLE语句中MODIFY用于修改字段的类型和长度等,ADD用于添加新的字段。

()13、在数据库恢复中,对已完成的事务进行撤销处理。

()14、等值连接与自然连接是同一个概念。

()15、在综合分E-R图时,会出现属性冲突,结构冲突,命名冲突。

()16、在关系模式中,主码和候选码可以有多个。

2022年云南大学计算机科学与技术专业《数据库原理》科目期末试卷A(有答案)

2022年云南大学计算机科学与技术专业《数据库原理》科目期末试卷A(有答案)一、填空题1、在SELECT命令中进行查询,若希望查询的结果不出现重复元组,应在SEL ECT语句中使用______保留字。

2、在SQL Server 2000中,某数据库用户User在此数据库中具有对T 表数据的查询和更改权限。

现要收回User对T表的数据更改权,下述是实现该功能的语句,请补全语句。

_____UPDATE ON T FROM User;3、主题在数据仓库中由一系列实现。

一个主题之下表的划分可按______、______数据所属时间段进行划分,主题在数据仓库中可用______方式进行存储,如果主题存储量大,为了提高处理效率可采用______方式进行存储。

4、数据模型是由______________、______________和______________三部分组成。

5、从外部视图到子模式的数据结构的转换是由______________实现;模式与子模式之间的映象是由______________实现;存储模式与数据物理组织之间的映象是由______________实现。

6、安全性控制的一般方法有____________、____________、____________、和____________视图的保护五级安全措施。

7、数据仓库主要是供决策分析用的______,所涉及的数据操作主要是______,一般情况下不进行。

8、在RDBMS中,通过某种代价模型计算各种查询的执行代价。

在集中式数据库中,查询的执行开销主要包括______和______代价。

在多用户数据库中,还应考虑查询的内存代价开销。

9、以子模式为框架的数据库是______________;以模式为框架的数据库是______________;以物理模式为框架的数据库是______________。

10、已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主码是______________,系关系的外码是______________,学生关系的主码是______________,外码是______________。

数据库大作业(全·参考答案)

《数据库原理与应用》综合设计任务书前言《数据库原理与应用》课程的重点知识模块包括:1)数据库设计、2)用SQL实现建库、建表、查询、更新、和创建视图、3)存储过程和触发器设计。

针对这三个应用能力,用一个案例作为背景,布置三次大作业。

在校大学生都能理解“图书管理系统”的应用场合和业务流程。

因此,以图书管理系统作为案例来布置作业,可以降低业务分析难度,让学生将主要精力放在知识消化与技术应用上。

本文档包括四个部分。

第一部分描述系统的需求,第二部分提出E-R模型设计和关系模型设计的任务;第三部分提出在SQL Server中,用SQL语句来建库、建表、查询、更新数据、创建视图的任务;第四部分,根据应用需求、安全需求和数据完整性要求,提出设计存储过程和触发器的任务。

每个任务之前,都给出了完成任务所需要掌握的关键知识点,学生可以在对这些知识点进行复习的基础上完成任务,每个任务是一次大作业。

第一部分案例的需求描述本部分描述“图书管理系统”的需求,学生通过阅读本部分内容,了解系统的功能要求、运行环境,对系统所需的数据有总体认识,作为三次作业的基础。

1.2 需求分析1)功能需求图1-1:功能需求示意图教师信息管理:用于教师基本资料的增删改查。

图书信息管理:用于图书基本信息的增删改查,分类统计图书册数和价值。

借书登记:记录借书时间、所借图书、借书人、办理人。

还书登记:记录还书时间、所还图书、还书人、办理人。

催还:查询借阅逾期的借书信息,给借书人发电子邮件,给借书人的部门打电话。

2)运行环境要求图1-2:运行环境拓扑图系统采用C/S模式,有两台PC和一台服务器,联成一个局域网。

PC上安装图书管理软件的客户端,服务器上安装DBMS,服务器也可由两台PC中的一台来代替。

第二部分作业1——E-R模型与关系模型设计(满分8分)本部分的任务是:在需求分析的基础上,进行E-R图设计,然后将E-R模型转换为关系模型。

任务:1)根据需求描述,绘制E-R图。

云南大学软件学院ups物流数据库期末大作业(含代码和测试结果)

云南大学软件学院实验报告学期:2014年春季学期指导教师: 张璇、刘宇实验题目: UPS数据库小组长:联系电话:电子邮件:日期:2014年6月18日一、角色分析:1. 客户:客户是形成邮件信息以及智慧标签内容的信息来源:包括发人的名字(昵称),电话,地址,包括收件人的名字、电话、地址,客户提供完整的邮件信息之后,系统将自动为它生成一个运货单号和智慧标签,作为邮件查询以及配送的向导。

同时,发件人有跟踪物流信息的权限,发件人只要在优比速使用过一次物流服务,他就理应成为优比速的客户,另外客户可能在不同时间处于发件人或收件人的身份,发件人发出的物品一旦开始派送就不允许再修改运单号、发件人、和收件人信息。

用户若想取消发件也必须在一定的时间限制之内。

收件人一旦签收则表示邮递服务基本结束,客户可以对物流服务进行评价,反馈和投诉等,但与该次邮递服务无关。

2.管理人员:拥有对整个数据库的最高权限,负责对不能录入或者扫描错误的邮件信息进行及时的补充。

也能对ups数据库进行删除,修改,插入,查询等操作。

还有实时监督货运状态的权限。

3.处理员工:负责收集邮件的信息:包括邮件的收件人信息、发件人信息,邮件的类型定位,递送时限以及邮件的运输工具。

这些信息将用来作为自动化机器生成智慧标签的信息来源;员工还将负责对邮件的下一站目的地进行确定以及给邮件贴上智慧标签。

同时,在邮件的中转站,员工还负责将邮件的物流信息及时返还到数据库中。

员工在分发邮件的时候将唯一确定由系统为邮件分配的运单号。

员工的订单处理量和员工的薪酬有着直接的关系。

4.自动化机器:自动化机器负责将员工收集的邮件信息打包自动生成一张含有二维码、条形码的智慧标签。

在贴上智慧标签的邮件经过自动化机器的扫描仪扫描之后,系统将自动地将相应的数据写入到数据库中或者将数据库中与之对应的信息调出来。

二、设计来源:1.应用背景:当今世界经济发展呈现出全球化和市场化的两大趋势。

经济发展,科技进步和信息革命,将世界带入前所未有的全球化时代。

大数据库期末大作业

大学软件学院实验报告课程:数据库原理与实用技术实验学期:任课教师:专业:学号::成绩:期末大作业:家电售后维修管理数据库设计一、实验目的(1)掌握数据库设计的基本方法(2)掌握各种数据库对象的设计方法二、实验容1.数据库概要设计:用文字简要描述实体之间的联系,画出E-R图(标出各联系中实体的基数)。

(1)、包含以下数据表:a.客户表b.维修申请表c.员工表d.报价表e.维修情况记录表f.商品表h.零件表(2)、实体之间的逻辑关系为:客户撰写维修申请表,员工对商品(包含组成商品的零件)进行维修,同时员工记录维修情况,将报价表反馈给客户客户表和维修申请表:维修申请表和员工表:员工表和商品表:商品表和零件表:员工表和维修情况记录表:员工表和报价比表:客户表和报价比表:(3)E-R图形式1:(3)E-R图形式2:2、数据表设计:将E-R图转换为数据表,给出创建各表的SQL语句。

创建数据库:客户表:维修申请表:员工表:报价表:商品表:零件表:维修情况记录表:3、完整性约束:根据需要给数据表添加数据完整性,并说明添加的理由。

(1)报价表的外键关系(2)零件表的外键关系(3)维修表的外键关系(4)员工性别约束性别约束测试(5)完整性约束之客户约束(6)完整性约束之员工约束员工约束测试4、存储过程、触发器和视图:根据需要给数据库添加几个实用的存储过程、触发器和视图,并说明它们各自的功能。

各表数据的填入:客户表维修申请表员工表报价表商品表零件表维修情况记录表存储过程1:创建存储过程,查询employee表中所有员工存储过程2:创建存储过程,查询客户表中具体客户,若无所查,则返回‘查无此人信息’存储过程2测试存储过程3:创建存储过程,通过比较使用时间和保修时间,判断维修用户的商品是否在维修期,并将在保修期商品的juge列更新为“是”,反之,更新为“不是”存储过程4:创建存储过程,得出上述juge=“不是”的用户的维修金额。

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

云南大学软件学院实验报告课程:数据库原理与实用技术实验学期:任课教师:专业:学号:姓名:成绩:期末大作业: Electronic Ventor 数据库设计一、实验目的(1)掌握数据库设计的基本方法(2)掌握各种数据库对象的设计方法(3)熟练掌握DBA必须具备的技能二、实验内容1、根据项目的应用和项目的需求说明文档,进行详细的需求分析,给出需求分析的结果。

(1)客户可以在网站上注册,注册的客户要提供客户的姓名、电话、地址,以方便售后和联系,姓名即作为用户名,和密码一起用于注册和登录,客户编号可唯一识别用户,卡号可网上支付。

其中地址、电话以方便联系和寄货;(2)网站管理员可以登记各种商品,供客户查询,订购。

登记商品时要提供商品的名称、价格,商店中现有商品量,商品编号可唯一识别商品;(3)类别表示商品所属类别,类别编号可唯一识别类别,其中包含了,商品类别名称和制造厂商,可以对商品进行分类售卖;(4)客户可以在网上下订单,也可以到实体店购物,其在订单上所选择的支付方式不同(信用卡、借记卡、现金,现金代表实体店购物),网站管理员可以查看订单,并及时将订单的处理情况更新(比如货物已寄出的信息,订单状态:0:未处理,1:已处理,2:已发货);订单编号可唯一识别订单,订单中包含订单产生时间,订单状态,支付方式和支付总额;(5)实体商店有自己的店名,卖多种商品,每个商店都有固定的地址,顾客可以到店中买商品,(注:在实体店中购买商品的顾客一律将顾客名默认为佚名),当商店中的库存量小于10时会有提醒到仓库中拿货;(6)配送单中包含查询号可唯一识别配送单,配送人,联系方式;(7)仓库中仓库编号可唯一识别仓库,其中每个仓库都有区号,代表其地址。

(8)各实体间关系1)一个客户可以购买多种商品,一种商品可以被多个客户购买;2)一个商品属于且仅属于一种类别,一种类别的商品可以包含多个商品或没有;3)一种商品放在多个商店中销售,一个商店至少销售一种或销售多种商品;4)一个订单对应一个客户,一个客户对应多个订单;5)一个订单对应至少有一件商品或多件,一个商品对应多个订单;6)一个订单可以有一个商品配送单7)一个仓库可以存放多种商品,一种商品可以存放在一个仓库;2、数据库逻辑设计:用文字简要描述实体之间的联系,画出E-R图(标出各联系中实体的基数)。

客户-商品:n-n;商品-类别:n-1;商品-商店:n-n;客户-订单:1-n;订单-商品:1-n;订单-配送当:1-1;仓库-商品:1-n3、数据库物理设计:将E-R图转换为数据表。

需要给出详细的转换规则,对应生成的表,属性(主属性、描述性属性,多值属性,符合属性等),主键,外键,约束(取值是否NULL等),索引(三种类型的索引至少每种出现一次)等。

在客户,配送单,类别中建立索引,语句在4题中如3中,有2个n-n关系,分生成订购表和销售表4、SQL中创建语句的使用:根据第二步中的结果,将相应的表,属性,主键,外键,约束等使用标准的SQL CREATE语句实现。

(要求给出创建的标准语句,以及创建之后在SQL数据库中的脚本和截图)。

create table 客户(客户编号 char(5) not null unique,姓名 varchar(10),密码 varchar(15),电话 numeric(11),地址 varchar(20),卡号 char(19),constraint PK_客户 primary key (客户编号));create table 类别(类别编号 char(5) not null unique,类别名称 varchar(10),制造商 varchar(10) ,constraint PK_类别 primary key (类别编号));create unique index 类别_PK on 类别 (类别编号 ASC);create table 仓库(仓库编号 char(5) not null unique,仓库区号 varchar(5),constraint PK_仓库 primary key (仓库编号));create table 商品(商品编号 char(5) not null unique,仓库编号 char(5) not null,类别编号 char(5) not null,商品名称 varchar(50),价格 float,constraint PK_商品 primary key (商品编号),constraint fk_仓库编号 foreign key(仓库编号) references 仓库, constraint fk_类别编号 foreign key(类别编号)references 类别);create unique clustered index 客户_PK on 客户 (客户编号 ASC);create table 订单(订单编号 char(5) not null,客户编号 char(5),订购时间 varchar(10),支付方式 varchar(10),订单状态 numeric,总额 float ,constraint PK_订单 primary key (订单编号),constraint fk_客户编号 foreign key(客户编号)references 客户);create table 配送单(查询号 char(10) not null unique,订单编号 char(5) not null,配送人 varchar(10),联系电话 numeric(11),constraint PK_配送单 primary key (查询号),constraint fk_订单编号 foreign key(订单编号) references 订单);create clustered index 配送_FK on 配送单 (订单编号 ASC);create unique index 配送单_PK on 配送单 (查询号 ASC);create table 商店(商店号 char(5) not null unique,商店名 char(10),地址 varchar(20),constraint PK_商店 primary key (商店号));create table 销售(商店号 char(5) not null,商品编号 char(5) not null,库存量 int,constraint PK_销售 primary key(商店号, 商品编号));create table 订购(订单编号 char(5) not null,商品编号 char(5) not null,数量 int,金额 float,constraint PK_订购 primary key (订单编号, 商品编号));5、存储过程、触发器和视图:根据需要给数据库添加至少六个实用的存储过程、触发器和视图,并说明它们各自的功能。

(需要给出语句执行的结果示意图)(1)创建视图,查找商品名为'苹果'的商品create view find_goodsasselect 商品编号,商品名称,价格from 商品where 商品名称 like '苹果%'(2)创建视图,查找价格在3000-6000的商品create view priceasselect 商品编号,商品名称from 商品where 价格>3000 and 价格<6000(3)创建触发器,提醒店铺中库存量小于10的商品create trigger trigger_alarmon 销售after updateasif(select 库存量 from 销售 where 库存量<10)<10 print 'trigger out:'select 商品编号,库存量 from 销售 where 库存量<10 return(4)创建触发器,当删除配送单中的数据时显示出所删信息create trigger trigger_delon 配送单after deleteasprint 'delete'(5)创建存储过程,根据商品编号,查询该商品的订购量create proc sp_find_quantity@商品编号 char(5),@sumq int outputasselect 商品编号,sum(数量)from 订购group by 商品编号having 商品编号=@商品编号declare @sumq intexec sp_find_quantity@商品编号='s0001',@sumq=@sumq outputprint 'the sum quantity is:'+convert(varchar(5),@sumq(6)创建存储过程,通过商品名称寻找商品信息create proc sp_find_price@name char(10)asselect *from 商品where 商品名称 like @name + '%'exec sp_find_price@name='戴尔6、分析常见的业务流程,列举出至少五种SQL SELECT语句。

实现的语句要满足如下要求:a)在五种语句中的查询能反映正常的业务需求;b)分析中至少要分别出现一次ORDER BY、GROUP BY … HAVING子句;c)分析中至少使用一次聚集函数;d)分析中至少使用一次嵌套查询;e)分析中至少使用一次UNION或INTERSECT运算;给出每一种语句执行的结果。

(1)计算并查找订购单中相同订单订购超过5000的总额select 订单编号,sum(金额)as 总额from 订购group by 订单编号having sum(金额)>5000(2)查找即购买了商品编号为s0001又买了s0002的客户select 姓名from 客户 b,订单 o,订购 swhere s.商品编号='s0001' and b.客户编号=o.客户编号 and o.订单编号=s.订单编号intersectselect 姓名from 客户 b,订单 o,订购 swhere s.商品编号='s0002' and b.客户编号=o.客户编号 and o.订单编号=s.订单编号(3)按照顾客c0002消费的总额大小顺序排订单编号select 订单编号,总额from 订单where 客户编号='c0001'order by 总额 desc(4)查询订单编号为00003的配送信息select o.订单编号,配送人,联系电话from 订单 o,配送单 swhere o.订单编号=s.订单编号 and s.订单编号='00003'(5)查找同样买了商品编号为s0002的客户信息select 客户编号,姓名,电话from 客户where 客户编号in(select 客户编号from 订单,订购where 订单.订单编号=订购.订单编号 and 订购.商品编号='s0002')(6)查询当日销售总额select 订购时间,sum(总额) as 营业额from 订单group by 订购时间7、(选做)完成数据库的设计之后,根据自己所熟悉的编程语言(C、C++、JAVA),实现一个简单的程序,能够在程序中组装SELECT语句,链接创建的数据库,进行查询,并显示查询结果。

相关文档
最新文档