华科数据库大作业
2022年华中科技大学计算机科学与技术专业《数据库原理》科目期末试卷B(有答案)
2022年华中科技大学计算机科学与技术专业《数据库原理》科目期末试卷B(有答案)一、填空题1、DBMS的完整性控制机制应具备三个功能:定义功能,即______;检查功能,即______;最后若发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。
2、主题在数据仓库中由一系列实现。
一个主题之下表的划分可按______、______数据所属时间段进行划分,主题在数据仓库中可用______方式进行存储,如果主题存储量大,为了提高处理效率可采用______方式进行存储。
3、在设计局部E-R图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计,所以各个局部E-R图之间难免有不一致的地方,称为冲突。
这些冲突主要有______、______和______3类。
4、使某个事务永远处于等待状态,得不到执行的现象称为______。
有两个或两个以上的事务处于等待状态,每个事务都在等待其中另一个事务解除封锁,它才能继续下去,结果任何一个事务都无法执行,这种现象称为______。
5、在RDBMS中,通过某种代价模型计算各种查询的执行代价。
在集中式数据库中,查询的执行开销主要包括______和______代价。
在多用户数据库中,还应考虑查询的内存代价开销。
6、设某数据库中有商品表(商品号,商品名,商品类别,价格)。
现要创建一个视图,该视图包含全部商品类别及每类商品的平均价格。
请补全如下语句: CREATE VIEW V1(商品类别,平均价格)AS SELECT商品类别,_____FROM商品表GROUP BY商品类别;7、在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用____________语句,收回所授的权限使用____________语句。
8、在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于______。
9、设在SQL Server 2000环境下,对“销售数据库”进行的备份操作序列如下图所示。
数据库大作业(全·参考答案)
《数据库原理与应用》综合设计任务书前言《数据库原理与应用》课程的重点知识模块包括: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图。
数据库大作业
华南理工大学数据库原理与设计大作业报告专业:计算机科学与技术班级:2015春学号:***************学生姓名:**完成时间:2016.05.08目录目录 (2)1、概述 (3)2、需求分析 (5)2.1零售前台(POS)管理系统 (5)2.2后台管理系统 (5)2.3数据需求 (6)3、数据库逻辑设计 (7)3.1 概念结构设计 (7)4、软件功能设计 (11)4.1逻辑结构设计 (11)4.2物理结构设计 (13)4.3完整性设计 (16)4.4安全性设计 (18)5、界面设计 (20)5.1系统功能结构图 (20)5.2模块设计与实现(部分界面) (20)6、结束语 (31)7、参考文献 (33)1、概述超市管理信息系统是针对超级市场的销售而开发的。
应用超市管理信息系统能够转变超市的工作方式,有效提高销售速度和服务水平,提高客户对超市的信任度和满意度,改善客户关系。
运用超市管理信息系统,在销售商品时实行出口一次性付款,可以实现超市内部现代化管理,能够准确把握每一种商品的销售动态,防止商品断档或过量储备,商品开发方向、进货的适时化都可通过超市管理信息系统来完成。
超市管理信息系统将手工编制好的销售账目或根据原始超市销售记录直接在系统内制作超市销售信息,同时可对输入的超市销售信息进行修改、查询等操作。
这种集约化的销售管理模式既便于对超市销售信息的收集、整理和加工,又便于操作员的需求信息在最短的时间内得到反馈,同时超市管理信息系统可自动分析各种商品销售变化规律,商品销售结构、居民消费变化等,从而为合理进货、经营、加工、库存、销售等提供科学的决策依据。
超市管理信息系统充分运用计算机管理信息技术,建立数据库,对超市的进销存过程进行详细分析,实现了对超市的进货、销售和库存的科学管理。
内部的所有业务,包括销售信息、进货信息、商品信息,具有超级用户的所有权限,对超市实行全面管理。
销售员的要求是查看所有销售信息,查看符合条件的销售信息以及增加销售单。
华科数据库实验报告
课程实验报告课程名称:数据库系统概论专业班级:学号:姓名:指导教师:报告日期:计算机科学与技术学院目录目录 (3)一、实验目的 (5)二、实验原理 (5)1.SQL Server 2008查询分析器 (5)2.DDL使用方法 (5)3.DML使用方法 (6)4.DCL 的使用方法 (7)5.数据库的备份和恢复 (8)三、实验内容 (9)实验1: 基本表的创建、数据插入 (9)实验2:数据查询 (10)实验3:数据修改、删除 (10)实验4:视图的操作 (10)实验5:库函数,授权控制 (10)实验6:数据库的备份、恢复 (11)四、实验过程 (11)实验1: 基本表的创建、数据插入 (11)实验2: 数据查询 (14)实验3: 数据修改、删除 (16)实验4:视图的操作 (18)实验5:库函数,授权控制 (19)实验6:数据库的备份、恢复 (20)五、心得体会 (21)一、实验目的掌握SQL Server 2008的工具使用掌握DDL的使用方法掌握DML的使用方法掌握SELECT命令使用方法掌握DCL的使用方法掌握数据库的备份和恢复二、实验原理1.SQL Server 2008查询分析器查询分析器是一个重要工具,实验中的所有SQL语言命令均需在查询分析器中输入、编辑运行。
2.DDL使用方法1)数据库创建在查询分析器中执行下列语句即可在默认的设备上创建新的数据库ems。
CREATE DATABASE database_name2)基本表的建立创建基本表的命令为:CREATE TABLE table_name,在该命令中定义主码和外码时,可以使用列约束(Column Constraint)或表约束(Table Constraint)子句。
创建基本表时,应先选择包含表的数据库。
3)视图的建立视图是组成数据库体系结构——三级模式两级映像结构中的外模式的基本单元,SQL-Server的视图定义命令为:CREATE VIEW view-name AS SELECT statement视图是用于定义终端用户数据来源的。
数据库应用技术-大作业模板Word版
数据库大作业课题名称专业班级学号姓名教师成绩2013年11月日1. 需求分析(加入需求分析的概念)描述题目内容1.1 数据流图(DFD)什么是数据流图。
画数据流图图1-1 XXXX图1.2 数据字典(DD)什么是数据字典写数据字典数据文件:订单明细表文件组成:订单序号Id, 订单编号, 菜名, 价格, 数量, 下单时间数据项:订单序号Id数据类型:整型数据长度:4数据项:订单编号数据类型:可变字符类型数据长度:50数据组成:A+日期时间数据项:菜名数据类型:可变字符类型数据长度:502. 概念结构设计什么概念结构设计E-R图(在Powerdesigner中创建概念模型,粘贴图)图2-1 XXXX图3. 逻辑结构设计关系模式((在Powerdesigner中由概念模型转化为物理数据模型,粘图))图3-1 XXXX图4. 建表SQL语句由物理数据模型生成SQL Server 2008数据库的建表语句。
/*==============================================================*//* DBMS name: Microsoft SQL Server 2008 *//* Created on: 2011-9-16 14:39:14 *//*==============================================================*/if exists (select 1from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')where r.fkeyid = object_id('SC') and = 'FK_SC_SC_S')alter table SCdrop constraint FK_SC_SC_Sgoif exists (select 1from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')where r.fkeyid = object_id('SC') and = 'FK_SC_SC2_C')alter table SCdrop constraint FK_SC_SC2_Cgoif exists (select 1from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')where r.fkeyid = object_id('TC') and = 'FK_TC_TC_T')alter table TCdrop constraint FK_TC_TC_Tgoif exists (select 1from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')where r.fkeyid = object_id('TC') and = 'FK_TC_TC2_C')alter table TCdrop constraint FK_TC_TC2_Cgoif exists (select 1from sysobjectswhere id = object_id('C')and type = 'U')drop table Cgoif exists (select 1from sysobjectswhere id = object_id('S')and type = 'U')drop table Sgoif exists (select 1from sysindexeswhere id = object_id('SC') and name = 'SC2_FK'and indid > 0and indid < 255)drop index SC.SC2_FKgoif exists (select 1from sysindexeswhere id = object_id('SC') and name = 'SC_FK'and indid > 0and indid < 255)drop index SC.SC_FKgoif exists (select 1from sysobjectswhere id = object_id('SC')and type = 'U')drop table SCgoif exists (select 1from sysobjectswhere id = object_id('T')and type = 'U')drop table Tgoif exists (select 1from sysindexeswhere id = object_id('TC')and name = 'TC2_FK'and indid > 0and indid < 255)drop index TC.TC2_FKgoif exists (select 1from sysindexeswhere id = object_id('TC')and name = 'TC_FK'and indid > 0and indid < 255)drop index TC.TC_FKgoif exists (select 1from sysobjectswhere id = object_id('TC')and type = 'U')drop table TCgo/*==============================================================*/ /* Table: C */ /*==============================================================*/ create table C (CNo char(2) not null,CN varchar(40) null,CT smallint null,constraint PK_C primary key nonclustered (CNo))go/*==============================================================*/ /* Table: S */ /*==============================================================*/ create table S (SNo char(2) not null,SN varchar(40) null,Gen char(2) null,Birth datetime null,Dept varchar(40) null,constraint PK_S primary key nonclustered (SNo)go/*==============================================================*/ /* Table: SC */ /*==============================================================*/ create table SC (SNo char(2) not null,CNo char(2) not null,Score smallint null,constraint PK_SC primary key (SNo, CNo))go/*==============================================================*/ /* Index: SC_FK */ /*==============================================================*/ create index SC_FK on SC (SNo ASC)go/*==============================================================*/ /* Index: SC2_FK */ /*==============================================================*/ create index SC2_FK on SC (CNo ASC)go/*==============================================================*/ /* Table: T */ /*==============================================================*/ create table T (TNo char(2) not null,TN varchar(40) null,Gen char(2) null,Birth datetime null,Prof varchar(40) null,Sal int null,Comm int null,Dept varchar(40) null,constraint PK_T primary key nonclustered (TNo))/*==============================================================*/ /* Table: TC */ /*==============================================================*/ create table TC (TNo char(2) not null,CNo char(2) not null,constraint PK_TC primary key (TNo, CNo))go/*==============================================================*/ /* Index: TC_FK */ /*==============================================================*/ create index TC_FK on TC (TNo ASC)go/*==============================================================*/ /* Index: TC2_FK */ /*==============================================================*/ create index TC2_FK on TC (CNo ASC)goalter table SCadd constraint FK_SC_SC_S foreign key (SNo)references S (SNo)goalter table SCadd constraint FK_SC_SC2_C foreign key (CNo)references C (CNo)goalter table TCadd constraint FK_TC_TC_T foreign key (TNo)references T (TNo)goalter table TCadd constraint FK_TC_TC2_C foreign key (CNo) references C (CNo)go5. 结论心得体会(如果有相同的,则都不及格)参考教材:《数据库实验指导》主编:杨海霞出版社:人民邮电出版社书号:978-115-16535-0。
数据库大作业最终
学生管理系统项目设计能源与动力工程学院0901班朱贤青U200911373王玮U200911378蔡颋U200911384李思华U200911388邓皓仁U200911383高校的学生管理工作就是高等学校对学生在校情况的全方位管理,它是高校各项工作的重要组成部分,其管理水平的高低将直接影响到人才培养的质量。
随着我国高等教育的普及,高校规模日益扩大,在校人数日益增加,高校学生管理出现了学生层次多样化、事务性管理工作更加复杂化等一系列问题。
因此,高校需要不断提高学生工作管理水平,特别需要找到一种更加简捷、科学的管理手段来提高工作效率。
通常高校学生管理人员要处理的学生信息主要包括:学生基本信息、奖惩信息、资助信息、就业信息等,其要处理的数据量大、内容庞杂。
通常采用的传统人工处理方式存在信息传递速度慢、处理效率低、出错率高以及查找、更新和维护困难等诸多问题,笔者结合某高校某学院学生工作的实际工作需要和学生管理工作的发展需求,运用数据库技术,设计出一套高校学生信息管理系统。
期望能降低学生管理工作的成本,减轻学生管理人员的负担,方便学生信息的更新、维护和查询,增加数据的可靠性;从而开拓学生管理工作的新局面,提高管理水平。
学生管理信息化是学院教务系统应用信息技术及其产品的过程,是信息技术应用于学生管理的过程。
学生信息化的实施,自上而下而言,必须与学院的制度创新、组织创新和管理创新结合;自下而上而言,必须以作为学院主体的工作人员使用信息技术水平的逐步提高为基础。
学生信息系统是现存信息系统中较为复杂的一类,这是由学院本身的目标、任务和性质决定的;它应用于学院的学生管理、教师管理、教室管理以及招生就业管理等各个方面,牵涉的信息种类十分庞杂。
它融合了学院的管理思想和各职能部门的工作经验,是学院当前运作方式和业务流程的具体体现,同时又在一定程度上反作用于学院当前的运作方式和业务流程。
而教室管理信息系统正是这样庞大的系统中的一个系统。
数据库原理及应用大作业文档
通信录项目开发文档目录1需求分析 (2)1.1应用需求........................................................................................... 错误!未定义书签。
1.1.1用户需求分析........................................................................ 错误!未定义书签。
1.1.2系统存储需求........................................................................ 错误!未定义书签。
1.2功能描述........................................................................................... 错误!未定义书签。
1.3数据流图和数据字典....................................................................... 错误!未定义书签。
1.3.1数据流图 (2)1.3.2数据字典................................................................................ 错误!未定义书签。
2.概念结构设计.............................................................................................. 错误!未定义书签。
2.1局部E-R图 (4)2.2全局E-R图 (5)2.3关系图 (5)3.逻辑结构设计.............................................................................................. 错误!未定义书签。
数据库大作业1
数据库技术与应用课程设计报告教务管理系统学院:软件学院专业名称:班级:计科三班设计题目:教务管理系统学生姓名:时间:2021 /6/23 分数:目录第一章引言 (3)课程设计目的 (3)工程背景 (3)第二章教务管理系统需求分析 (3)2.1 需求分析概述 (3)角色职责描述 (4)2.2 教务管理系统的功能需求 (4)功能需求分析 (4)第三章概念设计 (5)3.1 实体之间的联系 (5)3.2.1 局部E-R图 (6)3.2.2 全局E-R图 (8)第四章逻辑构造设计 (9)4.1 关系模型的设计依据 (9)4.2 实体间联系转化的关系模式 (9)第五章物理构造设计 (11) (11)5.2 数据库初始化代码 (13)第一章引言利用一种SQL server作为设计平台,理解并应用课程中关于数据库设计的相关理论,能按照数据库设计步骤完成完整的数据库设计,包括需求分析、概念设计、逻辑设计、物理设计。
同时能够正确应用各个阶段的典型工具进展表示本工程作为?数据库?课程的实习工程提出,希望通过教务管理系统的分析与设计,切实领会系统分析、系统设计和实施各个阶段的要点;掌握根本的信息系统的开发方法以及体会信息管理系统设计,教务管理系统第二章教务管理系统需求分析2.1 需求分析概述本系统为教务管理系统,教务管理系统中主要有四类用户,即学生用户,教师用户,教务管理员和系统管理员。
对应这些用户,其处理要求的主要的功能就是进展一系列的查询和各类数据的管维护。
表2-1 角色职责2.2 教务管理系统的功能需求1〕系统管理:实现系统管理人员对系统的管理,包括添加删除用户,更改密码,数据备份,数据复原,注销等功能。
2〕教务管理:实现教务管理人员对系统的管理,包括课程安排,成绩审核,学生成绩管理,学生学籍管理等功能。
3〕根本信息:实现显示学生和教师以及课程、班级、系别的根本信息〔包括学生根本信息,教师根本信息,课程根本信息等〕。
华科matlab大作业铣床(themillingmachine)的系统设计资料
铣床(the milling machine)的系统设计一、引言本学期开始学习《MATLAB语言、控制系统分析与设计》,其实最早接触matlab是在学习概率论时。
在老师的讲解与自己平时的练习中,不断地使用和学习matlab软件。
其实一开始学习的目标就不局限于控制系统领域,希望了解该软件的各种用途。
当然了,最基本的用途是绘图。
经过半个学期的汲取,觉得它用途广泛,功能强大。
我最喜欢的就是它的仿真(simulink),也许是对于初学者来说最简单的操作。
学习matlab的同时,也同时加深了对控制系统知识的掌握。
自控中的绘图可以在matlab下的响应分析的图形用户界面(ltiview)中建立。
此外还有sisotool等自控方面的超强工具箱。
图10.1铣床模型图10.2铣床系统方框图铣床系统的开环传递函数2()(1)(5)G s s s s =++ (10.1)设计要求:重新设计滞后校正器参数1)对于斜坡输入2()aR s s =,稳态误差小于8a2)使校正后系统的阶跃响应超调量..20%P O ≤对于(1)参数a 不影响系统的设计,在以下分析中作为‘1’处理本章的核心是滞后校正系统,但之所以对铣床系统采用滞后校正,理由见(四)深入探讨中频域下的分析。
另外我们超前校正器、超前-滞后校正器、PI 校正器、PD 校正器、PID 校正器。
二、设计方法以运用matlab 编程为主,其他各种工具箱为辅助根据极点、零点、增益输入原系统开环传递函数,并加入单位负反馈构成闭环系统 程序1G=zpk([],[0,-1,-5],2);%原系统开环传递函数 sys=feedback(G,1);%单位负反馈,构成闭环 得到2()(1)(5)G s s s s =++ (10.2)22( 5.096)(0.90420.3925)sys s s s =+++ (10.3)第一个要求稳态误差小于a/8 程序2 tf1=10; a=1;t=[0:0.1:tf1];u=a*t;%斜坡输入y_t=lsim(sys,u,t);plot(t,y_t,'b-',t,u,'r:') yss=y_t(length(t));y_deta=t(length(t))-yssif y_deta<(a/8)%稳态误差小于a/8disp('yes')elsedisp('no')end图10.3原系统单位斜坡输入的稳态误差得到原系统E(s)=2.500 no根据闭环传递函数求原系统性能程序3step(sys);%加阶跃响应Step ResponseTime (sec)A m p l i t u d e051015图10.4原系统阶跃响应第二个要求超调量小于20%,则根据阻尼比与超调量的函数关系..100*P O = (10.4)程序4sigmaN=0.2;%要求超调上限 A=log(1/sigmaN);zeta=sqrt((A^2)/(pi^2+A^2)); 得到阻尼比0.4559ξ= 引入滞后校正系统(),c K s z G s p z s p α+=<+,zp α=(10.5) 先考虑要求(1)lim ()lim ()()8s c s a asE s sG s G s →→=<(10.6)lim ()()8c sG s G s ⇒> (10.7)22855vcomp K z z K K p p α⎛⎫⎛⎫⎛⎫⎛⎫⇒==> ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭⎝⎭ (10.8)210(1)(5)Ks s s ⇒+=++ (10.9)画出其根轨迹并且找到满足0.4559ξ>的点,程序5n=[2];d=[1 6 5 0]; rlocus(n,d),hold on gridz=0.4559; hs=12*z;hc=12*sqrt(1-z^2);plot([0 -hs],[0 hc],'--',[0 -hs],[0 -hc],'--') text(-9.5,1,'Desired performance region')会显示Select a point in the graphics window 之后在图上找符合条件的点Root LocusReal AxisI m a g i n a r y A x i s图10.5原系统的根轨迹来求取K 的临界值为了精确性采用Data Cursor ,得到闭环极点p=-0.401+0.782i2.02K =Root LocusReal AxisI m a g i n a r y A x i s图10.6找寻K 临界值仅当引入增益K 下,系统的阶跃响应程序6G=zpk([],[0,-1,-5],2);%原系统开环传递函数 G2=2.02*G;%引入K/alphasys2=feedback(G2,1);%单位负反馈,构成闭环 step(sys2)Step ResponseTime (sec)A m p l i t u d e0510150.20.40.60.811.21.4图10.7引入增益2.02下的阶跃响应要满足要求一则:22855vcomp K z z K K p p α⎛⎫⎛⎫⎛⎫⎛⎫⇒==> ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭⎝⎭ (10.10)根据K ,并取10vcomp K =程序7Kvc=10;%Kvcopm>8 Kgang=2.02;%K/alpha Kvu=2*Kgang/5;alpha=Kvc/Kvu %alpha 即z/p 得到零点与极点的倍数12.3762α=得到了校正后系统开环传递函数0.012382() 4.04(1)(5)(0.001)s G s s s s s +=+++ (10.11)看系统是否符合要求(1)程序8G=zpk([],[0,-1,-5],2);%原系统开环传递函数p=0.001;z=alpha*p;nc=[1 z];dc=[1,p];Gc=2.02*tf(nc,dc);G2=G*Gc;%引入K/alphasys2=feedback(G2,1);%单位负反馈,构成闭环系统建立后,输入斜坡信号程序9tf1=10000;a=1;t=[0:0.1:tf1];u=a*t;%斜坡输入y_t=lsim(sys2,u,t);plot(t,y_t,'b-',t,u,'r:')yss=y_t(length(t));y_deta=u(length(t))-yssif y_deta<(a/8)%稳态误差小于a/8disp('yes')%符合要求(1)elsedisp('no')%不符合end得到==yesE s y a()_det0.100图10.8第一次校正后系统斜坡响应接着检验其阶跃响应程序10G=zpk([],[0,-1,-5],2);%原系统开环传递函数p=0.001;z=alpha*p;nc=[1 z];dc=[1,p]; Gc=2.02*tf(nc,dc);G2=G*Gc;%引入K/alphasys2=feedback(G2,1);%单位负反馈,构成闭环 step(sys2)Step ResponseTime (sec)A m p l i t u d e01020304050600.20.40.60.811.21.4图10.9第一次校正后的系统阶跃响应超调21.2%,需要继续调整令参数稍微改变, 2.02,1.90,2.1K程序11G=zpk([],[0,-1,-5],2);%原系统开环传递函数 p=0.001;z=alpha*p; nc=[1 z];dc=[1,p]; Gca=2.02*tf(nc,dc); Gcb=1.90*tf(nc,dc);Gcc=2.1*tf(nc,dc);%引入K/alpha G2a=G*Gca; G2b=G*Gcb; G2c=G*Gcc;sys2a=feedback(G2a,1);%单位负反馈,构成闭环 sys2b=feedback(G2b,1); sys2c=feedback(G2c,1); step(sys2a,'b--') hold onstep(sys2b,'r:') step(sys2c,'y-')Step ResponseTime (sec)A m p l i t u d e0.20.40.60.811.21.4图10.10对参数稍作调整的系统阶跃响应当 1.90K 时才能使超调降低到20%以下 再次使用求K 临界值的程序验证程序12 hold off clgn=[2];d=[1 6 5 0]; rlocus(n,d),hold on gridz=0.4559; hs=12*z;hc=12*sqrt(1-z^2);plot([0 -hs],[0 hc],'--',[0 -hs],[0 -hc],'--') text(-9.5,1,'Desired performance region') rlocfind(n,d)-0.42-0.415-0.41-0.405-0.4-0.395-0.39-0.385-0.380.770.7750.780.7850.79Root LocusReal AxisI m a g i n a r y A x i s图10.11在根轨迹上调整参数探索验证可以看出 2.02K ≤的点满足要求(2) 对0.12.0K =进行探索程序13G=zpk([],[0,-1,-5],2);%原系统开环传递函数 Kvc=10;%Kvcopm>8 y=zeros(200,1);i=0;for K=0.1:0.1:2%K/alpha Kvu=2*K/5;alpha=Kvc/Kvu;%alpha 即z/p p=0.001;z=alpha*p; nc=[1 z];dc=[1,p];Gc=K*tf(nc,dc);%引入K/alpha G2=G*Gc;sys2=feedback(G2,1);%单位负反馈,构成闭环 t=[0:0.1:19.9]; i=i+1;y(:,i)=step(sys2,t); endplot(y)legend('K=0.1','K=0.2','K=0.3','K=0.4','K=0.5','K=0.6','K=0.7','K=0.00.511.5图10.12不同取值下的阶跃响应求各曲线超调量,先将时间范围扩大到200程序14G=zpk([],[0,-1,-5],2);%原系统开环传递函数 Kvc=10;%Kvcopm>8 y=zeros(200,1);i=0;for K=0.1:0.1:2%K/alpha Kvu=2*K/5;alpha=Kvc/Kvu;%alpha 即z/p p=0.001;z=alpha*p; nc=[1 z];dc=[1,p];Gc=K*tf(nc,dc);%引入K/alpha G2=G*Gc;sys2=feedback(G2,1);%单位负反馈,构成闭环 t=[0:1:199];%改变时间长度 i=i+1;y(:,i)=step(sys2,t); endplot(y)legend('K=0.1','K=0.2','K=0.3','K=0.4','K=0.5','K=0.6','K=0.7','K=0.00.20.40.60.811.21.41.61.8图10.13时间轴扩大100观察分布情况 程序15sigma=zeros(20,20);j=0;Kgan=zeros(20,20); for i=1:1:20;[mp,tf]=max(y(:,i));%求最大幅值点 yss=y(length(t));%求稳态值 tp=t(tf);%峰值时间 j=j+1;Kgan(j,1)=j/10;%K/alphasigma(j,1)=100*(mp-yss)/yss;%超调量 endplot(Kgan,sigma,[0 2],[20 20]) gridxlabel('K/alpha') ylabel('Overshoot')K/alphaO v e r s h o o t图10.14K 与..P O 的关系若找到K 的取值范围,问题就比较清晰程序16n=find(sigma(:,1)<20);%找满足要求二的K/alpha Kn=Kgan(n,1)0.5 1.9K <<再考虑0.12.0K =的情况下的单位斜坡输入的稳态误差程序17G=zpk([],[0,-1,-5],2);%原系统开环传递函数 Kvc=10;%Kvcopm>8y=zeros(200,1);i=0;y_deta=zeros(20,1);Kgan=zeros(20,1); for K=0.1:0.1:2%K/alpha Kvu=2*K/5;alpha=Kvc/Kvu;%alpha 即z/p p=0.001;z=alpha*p; nc=[1 z];dc=[1,p];Gc=K*tf(nc,dc);%引入K/alpha G2=G*Gc;sys2=feedback(G2,1);%单位负反馈,构成闭环 t=[0:1:199]; i=i+1;Kgan(i,1)=i/10;u=t;y(:,i)=lsim(sys2,u,t); yss=y(length(t),i);y_deta(i,1)=u(length(t))-yss if y_deta(i,1)<(1/8)%稳态误差小于a/8 disp('yes')%符合要求(1) elsedisp('no')%不符合 end endplot(Kgan,y_deta,[0 2],[0.125 0.125])%找到误差小于a/8的直线 gridxlabel('K/alpha') ylabel('E(s)')K/alphaE (s )图10.15K 与稳态误差的关系程序18m=find(y_deta<0.125);%找满足要求一的K/alpha Km=Kgan(m,1) 得到0.2 1.1K <<综合上述两个范围0.5 1.1K <<三、结果分析令1K=程序19Kvc=10;%Kvcopm>8Kgang=1;%K/alphaKvu=2*Kgang/5;alpha=Kvc/Kvu;%alpha即z/p将参数带入校正后系统程序20G=zpk([],[0,-1,-5],2);%原系统开环传递函数p=0.001;z=alpha*p;nc=[1 z];dc=[1,p];Gc=1*tf(nc,dc);G2=G*Gc;%引入K/alphasys2=feedback(G2,1);%单位负反馈,构成闭环求单位斜坡响应程序21tf1=1000;a=1;t=[0:0.1:tf1];u=a*t;%斜坡输入y_t=lsim(sys2,u,t);plot(t,y_t,'b-',t,u,'r:')gridyss=y_t(length(t));y_deta=u(length(t))-yss;if y_deta<(a/8)%稳态误差小于a/8disp('yes')%符合要求(1)elsedisp('no')%不符合end得到()_det0.1000.125E s y a==<,yes,校正系统为100025()10001csG ss+=+(10.12)然后求单位阶跃响应step(sys2)Step ResponseTime (sec)A m p l i t u d e0204060801001200.20.40.60.81.21.4图10.16K =1的系统阶跃响应再讨论0.5K 程序23Kvc=10;%Kvcopm>8 Kgang=0.5;%K/alpha Kvu=2*Kgang/5;alpha=Kvc/Kvu;%alpha 即z/pG=zpk([],[0,-1,-5],2);%原系统开环传递函数 p=0.001;z=alpha*p; nc=[1 z];dc=[1,p]; Gc=Kgang*tf(nc,dc);G2=G*Gc;%引入K/alphasys2=feedback(G2,1);%单位负反馈,构成闭环 tf1=1000; a=1;t=[0:0.1:tf1];u=a*t;%斜坡输入y_t=lsim(sys2,u,t);plot(t,y_t,'b-',t,u,'r:')yss=y_t(length(t));y_deta=u(length(t))-yss; if y_deta<(a/8)%稳态误差小于a/8 disp('yes')%符合要求(1) elsedisp('no')%不符合 end得到()_det 0.1000.125E s y a ==<,yes50025()10001c s G s s +=+ (10.13)程序24step(sys2)Step ResponseTime (sec)A m p l i t u d e01020304050607080900.20.40.60.811.21.4图10.17K =0.5的系统阶跃响应四、深入探讨从频域下分析 先做原系统的伯德图程序25G=zpk([],[0,-1,-5],2);%原系统开环传递函数bode(G);%原系统伯德图 gridFrequency (rad/sec)M a g n i t u d e (d B)1010101010P h a s e (d e g )图10.18原系统伯德图程序26G=zpk([],[0,-1,-5],2);%原系统开环传递函数 [mag,phase,w]=bode(G);%原系统伯德图 m=find(phase>=-135); w1=w(max(m))得到当0.6877/sec w rad =,相位等于45deg 频率穿越点0.374/sec w rad =系统已经满足要求二,而且有23.5dB 的增益裕度 若利用增益K 来调节系统使其满足要求:2()(1)(5)KG s s s s =++ (10.14)对于要求一:01/5()0.125lim1()2s s aess t a G s K →===+ (10.15)得到K=20程序28G=zpk([],[0,-1,-5],2);%原系统开环传递函数 bode(G);%原系统伯德图 hold onbode(20*G)%引入增益K gridlegend('K=1','K=20')Frequency (rad/sec)M a g n i t u d e (d B)P h a s e (d e g )图10.19增益校正前后系统伯德图虽然K=20满足条件一可是相位裕度为负,闭环系统不稳定 所以不能用使用单一的增益校正。
华科数据库上机作业_(含答案)
1、创建某图书馆借书系统数据库,完成要求的SQL语句1)创建表书bookcreate table book(bno char(8)primary key,category char(10),title varchar(40),press char(3),year int,author varchar(20),price decimal(5,2),total int,remains int)2)创建表借书证cardcreate table card(cno char(7)primary key,name varchar(10),department varchar(40),type char(1),days int)3)创建表借书记录borrow,建立与book表、card表的外键关系create table borrow(bno char(8)constraint fk_bno foreign key references book(bno), cno char(7)constraint fk_cno foreign key references card(cno), borrow_date date,return_date date,constraint pk_borrow primary key (bno,cno))4)用INSERT语句为每个表插入不少于10条记录;insert intobook(bno,category,title,press,year,author,price,total,remains) values('200001','文学','水浒传','001',2013,'施耐庵',45.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains)values('200002','文学','西游记','001',2013,'吴承恩',35.7,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200003','文学','红楼梦','001',2013,'曹雪芹',68.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200004','文学','三国演义','001',2013,'罗贯中',41.5,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200005','教学','机械设计','002',2013,'张三丰',45.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200006','教学','机械原理','002',2013,'张无忌',45.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200007','教育','优化设计','002',2013,'武松',45.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200008','教育','高等数学','002',2013,'唐三藏',45.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200009','教育','大学物理','002',2013,'沙和尚',45.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200010','教育','数学物理方程','002',2013,'白骨精',45.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200011','小说','一个人的旅行','001',2013,'白骨精',35.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200012','小说','神机妙扇','001',2013,'铁扇公主',15.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains)values('200013','小说','除却巫山不是云','001',2013,'扈三娘',25.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200014','小说','麻辣烫','001',2013,'孙二娘',11.2,50,49);insert into card(cno,name,department,type,days)values('S000001','孙悟空','花果山','S',30);insert into card(cno,name,department,type,days)values('S000002','林冲','东京','S',30);insert into card(cno,name,department,type,days)values('T000001','赤脚大仙','天庭','T',30);insert into card(cno,name,department,type,days)values('S000003','鲁智深','五台山','S',30);insert into card(cno,name,department,type,days)values('S000004','贾宝玉','大观园','S',30);insert into card(cno,name,department,type,days)values('S000005','贾连','大观园','S',30);insert into card(cno,name,department,type,days)values('S000006','林黛玉','大观园','S',30);insert into card(cno,name,department,type,days)values('S000007','薛宝钗','大观园','S',30);insert into card(cno,name,department,type,days)values('S000008','袭人','大观园','S',30);insert into card(cno,name,department,type,days)values('S000009','猪八戒','高老庄','S',30);insert into card(cno,name,department,type,days)values('S000010','令狐冲','华山','S',30);insert into borrow values('200001','s000002','2015-05-12',null);insert into borrow values('200003','s000002','2015-05-12',null);insert into borrow values('200005','s000002','2015-05-12',null);insert into borrow values('200007','s000007','2015-05-12',null);insert into borrow values('200008','s000005','2015-05-12',null);insert into borrow values('200007','s000008','2015-05-12',null);insert into borrow values('200009','s000004','2015-05-12',null);insert into borrow values('200011','s000003','2015-05-12',null);insert into borrow values('200013','s000008','2015-05-12',null);insert into borrow values('200012','s000009','2015-05-12',null);insert into borrow values('200010','s000010','2015-05-12',null);insert into borrow values('200006','s000001','2015-05-12',null);5)写SQL语句,查询2008年出版的藏书种数、总册数、最高价、最低价。
华科数据库实验报告
华科数据库实验报告华科数据库实验报告引言:数据库是计算机科学领域中非常重要的一部分,它是用来存储和管理大量数据的工具。
在现代社会中,各种各样的应用都需要使用数据库来支持其数据存储和处理的需求。
本实验旨在通过实际操作,深入了解华科数据库的特点和使用方法,并对其进行评估和分析。
1. 实验背景华科数据库是华中科技大学开发的一套数据库系统,用于支持学校内部的各项业务。
它采用了先进的分布式架构,具有高可用性和高性能的特点。
本次实验将使用华科数据库进行一系列的操作,包括数据的插入、查询和删除等,以及性能测试和优化。
2. 实验过程2.1 数据插入首先,我们需要准备一些测试数据,并将其插入到华科数据库中。
通过编写SQL语句,我们可以轻松地将数据插入到指定的表中。
在插入数据之前,我们需要先创建相应的表结构,并定义字段的数据类型和约束。
2.2 数据查询一旦数据插入完成,我们就可以进行各种查询操作了。
华科数据库提供了丰富的查询功能,包括基本的SELECT语句、条件查询、排序、分组等。
我们可以根据实际需求,灵活运用这些查询功能,从数据库中获取所需的数据。
2.3 数据删除当我们不再需要某些数据时,可以使用DELETE语句将其从数据库中删除。
华科数据库支持根据条件删除数据,这样我们可以方便地删除满足特定条件的数据。
3. 实验结果与分析通过实验,我们对华科数据库的性能和稳定性进行了评估。
在数据插入方面,华科数据库表现出色,插入速度快,且支持大规模数据的插入。
在数据查询方面,华科数据库提供了强大的查询功能,可以满足各种复杂的查询需求。
在数据删除方面,华科数据库的删除操作也非常高效。
然而,我们在实验过程中也发现了一些问题。
首先,华科数据库在处理大规模数据时,会出现一定的性能瓶颈。
虽然它能够支持大规模数据的插入和查询,但在某些情况下,查询速度会变慢。
其次,华科数据库对于复杂的数据关系处理能力还有待提高。
在处理多表关联查询时,会出现一些性能问题。
华中科技大学大学计算机学院--数据库实验报告
※查询结果:(图 2-3 所示)
图 2-3 查询结果
______________________ 第 6 页/共 25 页
华中科技大学
计算机学院数据库系统概论实验报告
create table p ( pno varchar(20) primary key, pname varchar(20), color varchar(20), weight varchar(20));
create table j ( jno varchar(20) primary key, jname varchar(20), city varchar(20));
图 3-3 查询结果
______________________ 第 8 页/共 25 页
华中科技大学
计算机学院数据库系统概论实验报告
U201014281
(4)找出工程项目 J2 使用的各种零件的名称及其数量; ※查询语句为:
select p.pname,spj.qty from spj,p where spj.pno=p.pno and jno='J2'; ※查询结果:(图 3-4 所示)
select pname,color,weight from p; ※查询结果:(图 3-2 所示)
图 3-2 查询结果
(3)找出使用供应商 S1 所提供零件的工程号码; ※查询语句为:
select distinct pno from spj where sno='S1'; ※查询结果:(图 3-3 所示)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库课程设计》设计选题:学生信息管理系统班级:设计人:学号:辅导教师:一、需求分析目前随着学校的规模不断扩大,学生数量的增加,有关学生的各种信息量也快速增长,需要学校统一管理的数据也越来越多,管理的难度大大增加。
面对大量的数据,学校管理者要做的工作比较繁杂,因此设计一个学生信息管理系统的必要性显而易见。
管理者需要对学生信息进行规范管理、科学统计和快速查询、修改、增加、删除等操作,从而减少管理方面的工作量。
本系统可以满足学校管理者的需求,解决大部分校在学生信息管理上所面临的难题。
1.1数据需求学生信息管理系统需要完成功能主要有:1院系信息管理院系信息管理包括对院系信息的管理。
可实现以下功能:添加、修改、删除和显示院系代码、院系名称和电话号码。
2学生信息管理学生信息管理包括对学生档案和学籍的管理。
可实现以下功能:添加、修改学生的基本信息(包括姓名、性别、年龄、民族、学号、所属班级和院系等)。
3课程信息管理课程信息管理包括对课程设置和班级选课的管理。
该模块可实现以下功能:添加、修改、删除课程代码、课程名称、学分和院系名称。
4成绩信息管理成绩信息管理包括对成绩录入和成绩分析的管理。
可实现以下功能:录入学生成绩5班级信息管理班级信息管理包括对班级信息的管理,包括以下功能:添加、修改、删除和显示班级代码、班级名称、学生人数和所属院系名。
6教师信息管理教师信息管理包括对教师任课信息的管理,可实现以下功能:添加、删除和修改老师的基本信息,包括教师姓名,年龄,性别,所教科目等基本信息。
1.2事物需求1在院系信息管理部分,能够查询院系代码、院系名称、系主任和电话号码等信息。
2在学生信息管理部分,能够查询学生的的基本信息,比如学号,性别,年龄等,并且能够通过需要筛选符合条件的学生名单。
3在课程信息管理部分,能够查询课程代码、课程名称、学分和所属院系名称等信息,并且进行一定条件的筛选。
4在成绩信息管理部分,能够录入学生成绩,并且计算学生的平均成绩,筛选不同分数段的学生成绩等。
5在班级信息管理部分,能够查询班级号,班级名称,班级人数以及班级所属院系等基本信息。
6在教师信息管理部分,能够查询教师的基本信息如姓名,联系电话和所教科目等基本信息。
二、数据库设计2.1实体模型2.2 E-R图到关系图转换2.3数据字典Student表Sno Char(10) 不允许为空Sname Char(10) 不允许为空Sbirth Date 允许为空Ssex Char(2) 不允许为空Class Char(8) 不允许为空Nation Char(4) 允许为空Sdept Char(8) 允许为空Spro Char(8) 允许为空Score表Sno Char(10) 不允许为空Cno Char(8) 不允许为空Degree Float(8) 不允许为空Course表Cno Char(8) 不允许为空Cname char(10) 不允许为空Sdept Char(8) 不允许为空Cred(学分)Char(8) 不允许为空Tno Char(4) 允许为空Teacher表Tname Char(10) 不允许为空Tsex Char(2) 不允许为空Zc(职称)Char(8) 允许为空Tno Char(4) 不允许为空Cname Char(20) 允许为空Tbirth Date 允许为空Yno(院系代号)Char(2) 不允许为空Yx院系表Sdept(系名称)Char(8) 不允许为空Yno(系代号)Char(2) 不允许为空Yzr(系主任)Char(10) 允许为空Ytel(院系电话)Char(20) 允许为空Class表Headt(班主任)Char(10) 允许为空Cmo(班长)Char(10) 允许为空Cnum(班级人数)Char(2) 允许为空Sdept(所属院系)Char(8) 允许为空Class(班级代号)Char(8) 不允许为空三、功能实现3.1创建数据库create database smms;如果需要可以删除数据库,前提是当前数据库没有被使用:drop database smms;3.2创建数据表1创建学生表studentcreate table student(sno char(10) primary key,sname char(10) not null,sbirth date,ssex char(2) not null,class char(8) not null, nation char(4),sdept char(8),spro char(8))2创建成绩表scorecreate table score(sno char(10) not null,cno char(8) not null,degree float(8) not null)3创建课程表coursecreate table course(cno char(8) not null primary key,cname char(10) not null,sdept char(8) not null,cred char(8) not null,tno char(4))4创建教师信息表teachercreate table teacher(tname char(10) not null,tsex char(2) not null,zc char(8),tno char(4) not null primary key,cname char(20),tbirth date,yno char(2) not null)5创建院系表yxcreate table yx(sdept char(8) not null,yno char(2) not null primary key,yzr char(10),ytel char(20))6创建班级表classcreate table class(headt char(10),cmo char(10),cnum char(2),sdept char(8),class char(8) not null primary key)四、数据操作(插入、查询、删除、修改、添加)4.1 插入数据1插入学生表数据:insert into student values('201110101','李明','1983-09-18','女','11','汉','jx','jxsj'); insert into student values('201110102','王二','1984-01-01','男','11','汉','jx','jxsj'); insert into student values('201110103','李开','1984-01-01','男','11','畲','jx','jxsj'); insert into student values('201110104','章浪','1984-11-11','女','11','汉','jx','jxsj'); insert into student values('201110105','生命','1984-12-05','男','13','苗','jsj','cxsj'); insert into student values('201110106','无悔','1984-11-01','女','13','汉','jsj','cxsj'); insert into student values('201110107','历史','1984-10-01','女','12','汉','sx','sxfx'); insert into student values('201110108','风尘','1985-09-08','男','11','壮','jx','jxsj'); insert into student values('201110109','活着','1985-12-12','男','12','汉','sx','sxfx'); insert into student values('201110110','傻瓜','1985-08-28','女','12','汉','sx','sxfx');2 插入成绩表数据:insert into score values('201110101','01',88);insert into score values('201110101','02',85);insert into score values('201110102','02',80);insert into score values('201110101','03',88);insert into score values('201110102','02',85);insert into score values('201110102','03',80);insert into score values('201110103','01',83);insert into score values('201110103','02',85);insert into score values('201110103','03',90);insert into score values('201110104','01',60);3 插入班级表数据insert into class values('马晓敏','高洪波','29','jx','11'); insert into class values('李向红','刘俊辉','30','sx','12'); insert into class values('崔晓东','李小军','31','jsj','13');4 插入课程表数据insert into course values('01','计算机','jsj','1.5','11'); insert into course values('02','数理统计','sx','2.5','12'); insert into course values('03','专业英语','jx','2','13'); insert into course values('04','软件工程','jsj','3','14');5 插入教师表数据insert into teacher values('高帅','男','教授','11','计算机','1973-4-5','01');insert into teacher values('徐莎','女','副教授','12','数理统计','1975-12-1','02'); insert into teacher values('刘志红','女','副教授','13','专业英语','1975-3-3','03'); insert into teacher values('任军','男','教授','14','软件工程','1973-5-5','01');6 插入院系表数据insert into yx values('jsj','01','王敏','88880001');insert into yx values('sx','02','高年','88880002');insert into yx values('jx','03','张琳','88880003');4.2 查询1 查询课程表的所有内容:select * from course;2 选出学生表中年龄大于29的学生select sname,ssex,datediff(year,sbirth,getdate())as sage from student where datediff(year,sbirth,getdate())>='29';3 选出编号01的课程成绩大于等于85的学生信息select sname,student.sno,class,ssex,cno,degree from student,score where student.sno=score.sno ando=01 and score.degree>=85;4 查询课程01成绩大于课程02最高分的所有学生信息select sname,class,o,student.sno,ssex from score,student where o='01' and score.degree>=(select max(degree) from score where o='02' )and score.sno=student.sno;5 查询选择了课程01的男生的平均成绩select avg(degree)as avg from score,student where o='01' and student.sno=score.sno and ssex='男';6查询成绩大于学号为201110101的学生的课程为02的成绩的所有列。