云南大学数据库期末大作业:数据库设计
- 格式:doc
- 大小:344.00 KB
- 文档页数:15
期末大作业:学生毕业设计数据库设计一、实验目的(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、完整性约束:根据需要给数据表添加数据完整性,并说明添加的理由。
章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、粒度带来的优势及定义定义:粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。
细化程度越高,粒度级就越小;相反,细化程度越低,粒度级就越大。
数据库课程设计大作业一、教学目标本课程的教学目标是使学生掌握数据库的基本概念、原理和设计方法,能够运用数据库技术解决实际问题。
具体目标如下:1.理解数据库的基本概念,如数据、数据库、表、关系等。
2.掌握数据库的设计原理,如实体-关系模型、E-R图等。
3.熟悉数据库的操作语言,如SQL语句。
4.了解数据库的性能优化和事务管理。
5.能够使用数据库管理系统(如MySQL、Oracle等)进行数据库的创建、表的设计、数据的增删改查等操作。
6.能够运用实体-关系模型和E-R图进行数据库的设计。
7.能够编写简单的SQL语句进行数据库的操作。
8.能够对数据库的性能进行简单的优化。
情感态度价值观目标:1.培养学生的团队合作意识,能够协同完成数据库的设计和操作。
2.培养学生对数据库技术的兴趣,认识到数据库在现代社会中的重要性。
3.培养学生认真负责的学习态度,养成良好的编程习惯。
二、教学内容根据课程目标,教学内容主要包括以下几个方面:1.数据库的基本概念:数据、数据库、表、关系等。
2.数据库的设计原理:实体-关系模型、E-R图、关系模型等。
3.数据库的操作语言:SQL语句的编写和应用。
4.数据库的性能优化:索引、分区、事务管理等。
5.数据库的实际应用案例:关系型数据库和非关系型数据库的使用场景。
6.数据库的基本概念(2课时)–数据的定义和分类–数据库的概念和功能–表的概念和基本操作7.数据库的设计原理(4课时)–实体-关系模型–E-R图的绘制和转换–关系模型的概念和性质8.数据库的操作语言(6课时)–SQL语句的编写和应用–数据库的增删改查操作–数据库的高级查询功能9.数据库的性能优化(2课时)–索引的使用和优化–分区和分表的概念及应用–事务管理的基本原理10.数据库的实际应用案例(2课时)–关系型数据库(如MySQL)的使用场景–非关系型数据库(如MongoDB)的使用场景三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合的方式进行教学。
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、已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主码是______________,系关系的外码是______________,学生关系的主码是______________,外码是______________。
云南大学软件学院实验报告学期: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.1概念结构设计(E-R图)2.2逻辑结构设计(E-R模型转换为关系模式,指明所满⾜的范式并给出理由)。
2.3物理结构设计3)数据库实现。
(录⼊数据,每个表应不少于10条数据)4)数据库运⾏。
(不少于30条sql语句,其中包括查询、更新、删除、插⼊、创建触发器等sql语句)5)19周之前交。
2.可选题⽬:1.机票预定信息系统系统功能的基本要求:航班基本信息的录⼊,包括航班的编号、飞机名称、机舱等级等。
机票信息,包括票价、折扣、当前预售状态及经⼿业务员等。
客户基本信息,包括姓名、联系⽅式、证件及号码、付款情况等。
按照⼀定条件查询、统计符合条件的航班、机票等;对结果打印输出。
2.长途汽车信息管理系统系统功能的基本要求:线路信息,包括出发地、⽬的地、出发时间、所需时间等。
汽车信息:包括汽车的种类及相应的票价、最⼤载客量等。
票价信息:包括售票情况、查询、打印相应的信息。
3.⼈事信息管理系统系统功能基本要求:员⼯各种信息:包括员⼯的基本信息,如编号、姓名、性别、学历、所属部门、毕业院校、健康情况、职称、职务、奖惩等;员⼯各种信息的修改;对转出、辞退、退休员⼯信息的删除;按照⼀定条件,查询、统计符合条件的员⼯信息;教师教学信息的录⼊:教师编号、姓名、课程编号、课程名称、课程时数、学分、课程性质等。
科研信息的录⼊:教师编号、研究⽅向、课题研究情况、专利、论⽂及著作发表情况等。
按条件查询、统计,结果打印输出。
4.超市会员管理系统系统功能的基本要求:加⼊会员的基本信息,包括:成为会员的基本条件、优惠政策、优惠时间等。
会员的基本信息,包括姓名、性别、年龄、⼯作单位、联系⽅式等。
会员购物信息:购买物品编号、物品名称、所属种类,数量,价格等。
会员返利信息,包括会员积分的情况,享受优惠的等级等。
对货物流量及消费⼈群进⾏统计输出。
5.客房管理系统系统功能的基本要求:客房各种信息,包括客房的类别、当前的状态、负责⼈等;客房信息的查询和修改,包括按房间号查询住宿情况、按客户信息查询房间状态等。
数据库课程期末大作业要求:
按照各人所选项目内容书写数据库设计报告。
可以参考以下格式:
题目:XXXX项目数据库设计报告
班级:XXX 学号:XXXX 姓名:XXX
完成日期:2014-12-XX
一、项目功能
详细具体地描述项目中实现的功能。
二、数据库设计
1.按照项目功能,画出E-R图
2.根据E-R图,设计数据库逻辑结构(包括主键和外键)
3.设计用户自定义约束(如:标识字段、取值范围、默认值、唯一值等)
4.最后将以上设计结构用表格画出来(属性值、属性含义、数据类型、各种约束)
(注意:必须说明各个约束设置的依据,比如:因为年龄取值一定是在0~150岁之间,所以为年龄属性设置取值范围0~100)
三、设计视图
说明每个视图的功能,写出代码。
四、设计编程对象
1.触发器
2.存储过程
3.函数
注意:必须说明各个对象的功能。
可以列出实现代码。
五、从数据库角度出发,说明你的项目有哪些仍需改进的方面,并提出解决思路。
强调:
1.手写或者打印均可,不要以大字体、宽间距充篇幅!
2.不要写个人感受和成长过程。
《数据库课程设计》大作业
数据库课程设计大作业
介绍
本文档旨在详细描述《数据库课程设计》的大作业要求和目标。
通过该大作业,学生将能够实践其在数据库课程中学到的知识和技能,并展示他们的数据建模和数据库设计能力。
背景
- 课程名称:数据库
- 学期:202X年秋季学期
- 课程教师:XXX
大作业要求
- 大作业名称:《数据库课程设计大作业》
- 分组要求:学生将分为若干个小组,每个小组由3-5名成员组成。
- 作业内容:每个小组需要选择一个合适的实际场景,设计一个相关的数据库系统。
该数据库系统需要包含以下内容:- 数据库建模:根据实际场景确定实体、关系和属性,并绘制出ER图。
- 数据库设计:设计数据库表结构,并建立适当的关系。
大作业目标
通过完成《数据库课程设计大作业》,学生将能够:
1. 理解数据库建模和设计的基本概念和原则。
2. 运用所学的知识和技能,设计一个符合实际需求的数据库系统。
3. 熟悉数据库表的创建和关系的建立。
4. 研究使用数据库管理系统来实际操纵数据库。
5. 锻炼团队合作和沟通能力,以完成小组作业。
评分标准
- 数据库建模:20%
- 数据库设计:30%
- 数据库表的创建和关系的建立:30%
- 小组合作和沟通:20%
时间安排
- 作业发布日期:XXXX年X月
- 作业提交截止日期:XXXX年X月
- 评分和反馈发布日期:XXXX年X月
请大家按照要求认真完成大作业,祝各位顺利完成!。
云南大学软件学院实验报告课程:数据库原理与实用技术实验学期:任课教师:专业:学号:姓名:成绩:期末大作业: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图(标出各联系中实体的基数)。
云南大学软件学院实验报告课程:数据库原理与实用技术实验学期:任课教师:专业:学号:姓名:成绩:期末大作业:Electronic Ventor 数据库设计一、实验目的(1)掌握数据库设计的基本方法(2)掌握各种数据库对象的设计方法(3)熟练掌握DBA必须具备的技能二、实验内容根据项目的应用和项目的需求说明文档,进行详细的需求分析,给出需求分析的结果。
客户可以在网站上注册,注册的客户要提供客户的姓名、电话、地址,以方便售后和联系,姓名即作为用户名,和密码一起用于注册和登录,客户编号可唯一识别用户,卡号可网上支付。
其中地址、电话以方便联系和寄货;网站管理员可以登记各种商品,供客户查询,订购。
登记商品时要提供商品的名称、价格,商店中现有商品量,商品编号可唯一识别商品;类别表示商品所属类别,类别编号可唯一识别类别,其中包含了,商品类别名称和制造厂商,可以对商品进行分类售卖;客户可以在网上下订单,也可以到实体店购物,其在订单上所选择的支付方式不同(信用卡、借记卡、现金,现金代表实体店购物),网站管理员可以查看订单,并及时将订单的处理情况更新(比如货物已寄出的信息,订单状态:0:未处理,1:已处理,2:已发货);订单编号可唯一识别订单,订单中包含订单产生时间,订单状态,支付方式和支付总额;实体商店有自己的店名,卖多种商品,每个商店都有固定的地址,顾客可以到店中买商品,(注:在实体店中购买商品的顾客一律将顾客名默认为佚名),当商店中的库存量小于10时会有提醒到仓库中拿货;配送单中包含查询号可唯一识别配送单,配送人,联系方式;仓库中仓库编号可唯一识别仓库,其中每个仓库都有区号,代表其地址。
各实体间关系一个客户可以购买多种商品,一种商品可以被多个客户购买;一个商品属于且仅属于一种类别,一种类别的商品可以包含多个商品或没有;一种商品放在多个商店中销售,一个商店至少销售一种或销售多种商品;一个订单对应一个客户,一个客户对应多个订单;一个订单对应至少有一件商品或多件,一个商品对应多个订单;一个订单可以有一个商品配送单一个仓库可以存放多种商品,一种商品可以存放在一个仓库;数据库逻辑设计:用文字简要描述实体之间的联系,画出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创建触发器,当删除配送单中的数据时显示出所删信息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语句。
实现的语句要满足如下要求:在五种语句中的查询能反映正常的业务需求;分析中至少要分别出现一次ORDER BY、GROUP BY … HAVING子句;分析中至少使用一次聚集函数;分析中至少使用一次嵌套查询;分析中至少使用一次UNION或INTERSECT运算;给出每一种语句执行的结果。
(1)计算并查找订购单中相同订单订购超过5000的总额select 订单编号,sum(金额)as 总额from 订购group by 订单编号having sum(金额)>5000查找即购买了商品编号为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 订购时间(选做)完成数据库的设计之后,根据自己所熟悉的编程语言(C、C++、JAVA),实现一个简单的程序,能够在程序中组装SELECT语句,链接创建的数据库,进行查询,并显示查询结果。