第一篇:数据库系统设计报告及项目总结
数据库系统设计报告及项目总结
我对数据库的制作是为了能够更方便更快捷的对学生基本信息、系部基本信息、课程信息、教职工信息以及学生成绩进行查询。
数据库的最终效果是能够按学号、姓名、系号查询学生基本信息;按职工号、姓名、系号查询教职工基本信息;按系号、系名称查询系的基本信息;按课程号、课程名称、上课教师姓名查询课程基本信息;按学号、课程号、课程名称、上课教师姓名、系号查询学生成绩,内容包括课程基本情况。若查询涉及多门课程,则按课程分组。每门课程按总评成绩从高分到低分给出选修该门课程的所有学生的成绩(平时成绩、考试成绩和总评成绩);能按课程号、课程名称、教师姓名输出对应课程的成绩报表;能够根据课程、授课教师统计成绩>=90分、>=80分、>=70分、>=60分及不及格学生的人数及比例。内容包括课程基本信息(课程号、课程名称、任课教师号、学时、学分),选课学生名单(学号、姓名、性别),每个学生的平时成绩、考试成绩和总评成绩。
我建立了学生基本信息表,系部基本信息表,课程信息表,教职工信息表,选课信息表以及没门课程的成绩表。课程包括音乐鉴赏、影视鉴赏、体育、数学、商业应用文写作、实用英语这几门课程。学生基本信息表的内容及数据类型如下:学号INT PRIMARY KEY,姓名VARCHAR(10)NOT NULL,性别 VARCHAR(50),出生日期 INT ,入学成绩 INT,所在系号 INT。系部基本信息表内容及数据类型如下:系号 INT PRIMARY KEY,系名称VARCHAR(50)NOT NULL,系的简介 VARCHAR(50)。课程信息表内容及数据类型如下:课程号INT PRIMARY KEY,课程名称 VARCHAR(50)NOT NULL,任课教师号INT,学时INT ,学分INT,上课时间
VARCHAR(50),上课地点 VARCHAR(50),考试时间VARCHAR(50)。教职工信息表内容以及数据类型如下:职工号 INT PRIMARY KEY,教师姓名VARCHAR(10)NOT NULL,性别 VARCHAR(50),出身年月 INT ,所在系号INT,职称VARCHAR(50),技术专长 VARCHAR(50)。将课程信息中的任课教师号与教职工信息表的职工号。选课信息表内容以及数据类型如下:学号INT PRIMARY KEY,教师姓名VARCHAR(10)NOT NULL,课程号 INT,课程名称 VARCHAR(10),平时成绩 INT,考试成绩 INT,总评成绩 INT。
我创建数据库是在图形界面下进行的,数据库的名称为market,一些查询语句是通过SQL语句进行的。我创建了视图方便对学生成绩进行查询,在创建视图过程中用到了COUNT函数和AVG函数和存储过程。因为在创建成绩报表关于不同分值的人数和比例时,需要这些函数和存储过程,可以先利用COUNT函数求出不同分值之间的人数在创建存储过程,接着在利用AVG函数和存储过程求出不同分值间的人数所占比例,最后在创建视图,一个有关成绩报表的视图就建立成功了。
在数据库的设计过程中,我也遇到了一些问题,例如,创建表时没有注意各表之间的联系,所以在设计数据库时应先对各表之间的联系进行全面的了解。其次要注意创建和查询时的SQL语句的正确运用,输入字母和数字时要在英文输入法的状态下,有时要注意各字段之间的空格间距,创建多表之间的链接时要注意写出各表之间的相同项目之间的链接。
所做任务如下:
建立外键
Alter table 课程信息 add
constraint Fk_课程信息_教职工信息foreign key(任课教师号)REFERENCES 教职工信息(职工号)go
修改语句 USE market GO UPDATE 学生基本信息
SET 姓名='王晓明', 出生日期='19930721' WHERE 学号=12432201
GO
删除语句 USE market GO DELETE 学生基本信息 WHERE 学号=12432210 GO
a、成绩报表:内容包括课程基本信息(课程号、课程名称、任课教师号、学时、学分),选课学生名单(学号、姓名、性别),每个学生的平时成绩、考试成绩和总评成绩
USE market GO CREATE VIEW 成绩报表 AS SELECT 课程信息.课程号,课程信息.课程名称, 课程信息.任课教师号,课程信息.学时,课程信息.学分,教职工信息.教师姓名, 选课信息.学号, 选课信息.平时成绩, 选课信息.考试成绩, 选课信息.总评成绩, 学生基本信息.性别 FROM 课程信息 INNER JOIN 教职工信息 ON 课程信息.课程号=教职工信息.职工号 INNER JOIN 选课信息
On 选课信息.课程号=课程信息.课程号 INNER JOIN 学生基本信息
On 学生基本信息.学号=选课信息.学号
group by 课程信息.课程号,课程信息.课程名称, 课程信息.任课教师号,课程信息.学时,课程信息.学分,教职工信息.教师姓名, 选课信息.学号, 选课信息.平时成绩, 选课信息.考试成绩, 选课信息.总评成绩,学生基本信息.性别 go
USE market GO--建立信息的存储过程
CREATE PROCEDURE ordershu1 AS SELECT * FROM 数学成绩信息
WHERE 总评成绩 >= 90
--比较运算符
USE market GO--建立信息的存储过程
CREATE PROCEDURE order1renshu1
SELECT D90人数=COUNT(ALL 学号)
FROM ordershu1
USE market GO--建立信息的存储过程
CREATE PROCEDURE order1bili AS SELECT
D90所在比例 =AVG(distinct 10)
FROM order1renshu1
USE market GO CREATE VIEW 成绩报表1 AS SELECT D90人数,D90所在比例
FROM ordershu1 INNER JOIN order1bili INNER JOIN order1renshu1
USE market GO--建立信息的存储过程
CREATE PROCEDURE ordershu2 AS SELECT * FROM 数学成绩信息
WHERE 总评成绩 >= 80--比较运算符
USE market GO--建立信息的存储过程
CREATE PROCEDURE ordershu3 AS SELECT * FROM 数学成绩信息
WHERE 总评成绩 >= 70--比较运算符
USE market GO--建立信息的存储过程
CREATE PROCEDURE ordershu4 AS SELECT * FROM 数学成绩信息
WHERE 总评成绩 >= 60--比较运算符
USE market GO--建立信息的存储过程
CREATE PROCEDURE ordershu5 AS SELECT * FROM 数学成绩信息
WHERE 总评成绩 =< 60--比较运算符
USE market GO--建立信息的存储过程
CREATE PROCEDURE orderti AS SELECT * FROM 体育成绩信息
WHERE 总评成绩 >= 90--比较运算符 USE market GO--建立信息的存储过程
CREATE PROCEDURE ordershang AS SELECT * FROM 商业应用文成绩信息
WHERE 总评成绩 >= 90--比较运算符
USE market GO--建立信息的存储过程
CREATE PROCEDURE ordershi AS SELECT * FROM 实用英语信息
WHERE 总评成绩 >= 90--比较运算符
第二篇:数据库系统设计期末考总结
数据库系统设计期末考总结 什么是数据库?
数据库是被一个系统所使用的所有数据的集合 数据库管理员(Database Administrator) 什么是数据库管理系统?(DBMS)
数据库管理系统就是帮助存储,管理和使用数据库的程序的集合,对数据库进行统一的管理和控制,以保证数据库的安全性和完整性
DBMS(database management system)数据库管理系统环境组成
硬件,软件,数据,程序(procedures),人 数据库系统开发生命周期(database system development lifecycle)
数据库设计的三个主要步骤: 概念设计 逻辑设计 物理设计
C/S vs B/S C/S
即Client/Server(客户机/服务器)结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。
客户端和服务器端的程序不同,用户的程序主要在客户端,服务器端主要提供数据管理、数据共享、数据及系统维护和并发控制等,客户端程序主要完成用户的具体的业务。
开发比较容易,操作简便,但应用程序的升级和客户端程序的维护较为困难。
三层C/S构架
在三层架构中,客户端接受用户的请求,客户端向应用服务提出请求,应用服务从数据库服务中获得数据,应用服务将数据进行计算并将结果提交给客户端,客户端将结果呈现给用户。
两层和三层的区别? 两层架构
Client side presented two problems preventing true scalability: „Fat‟ client, requiring considerable resources on client‟s computer to run effectively. Significant client side administration overhead. By 1995, three layers proposed, each potentially running on a different platform.客户端提出的两个问题阻止真正的可伸缩性:
脂肪”客户端,需要相当大的客户端电脑上的资源有效地运行。
重大的客户端管理开销。
三层架构
Advantages:
‘Thin’ client, requiring less expensive hardware. Application maintenance centralized. Easier to modify or replace one tier without affecting others. Separating business logic from database functions makes it easier to implement load balancing. Maps quite naturally to Web environment.优点: 瘦”客户机,需要更少的昂贵的硬件。应用程序维护集中。
容易修改或替换一个层而不影响其他。
将业务逻辑与数据库函数分开使其容易实现负载平衡。很自然地映射到Web环境。
Three main types of transactions(三种主要类型的事务):
retrieval transactions检索事务
update transactions更新交易处理
mixed transactions混合事项
B/S
即Browser/Server(浏览器/服务器)结构,用户界面完全通过www.xiexiebang.comMIT Query(查询) Security(安全) Index(索引) View(视图)
ERD A five-step process for ERD construction : ERD构建五个步骤的过程: Step1: Represent Entities as Tables(将实体转换成表) Step2: Determine Relationships(确定关系)
In most cases, a record in one table will correspond to multiple records in another table.在大多数情况下,一个表的记录将对应于另一个表中的多条记录。
For many-to-many relationships, a new associative table must be created between two tables.多对多关系,必须创建一个新的关联表两个表之间的关系。
Step3:List Fields(确定表的属性)
Step4: Identify Keys(确定键,主键和外键) Step5: Determining Data Types确定数据类型
Primary and foreign keys must match in data type and size.主键和外键必须匹配的数据类型和大小。
2.主键
A primary key uniquely identifies each record in a table.主键唯一标示表中的每一条记录。
Unique Minimal Not Null Nonupdateable 3.外键
如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。4.完整性
实体完整性:每个表一定要有一个合法主键。(主键值唯一)参照完整性规则(Referential Integrity):若属性组F是关系模式R1的主键,同时F也是关系模式R2的外键,则在R2的关系中,F的取值只允许两种可能:空值或等于R1关系中
某个主键值。(外键,的值在主键中没有出现)5.范式
第一范式:(1NF)强调的是列的原子性,即列不能够再分成其他几列。Definition: A table in which all fields contain a single value.第二范式:(2NF)属性完全依赖于主键Definition: A table in which each non-key field is determined by the whole primary key and not part of the primary key by itself.没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。
第三范式:(3NF)属性不依赖于其它非主属性
首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。6.Normalization规范化
没有进行规范化的数据存在插入(表没有分开,插入数据是产生异常),更新(数据冗余,更新时产生异常),删除异常(表没有分开,数据间存在依赖关系)同一张表自身设计不合理导致异常
规范化的优缺点
优点:
• 消除更新异常 • 减少数据冗余
• 解决了数据完整性问题 • 节省存储空间
缺点: • 涉及多表的子查询和表之间的联接,需要更复杂的SQL语句
• DBMS的额外工作使应用程序变慢
7.关系型数据库优点
依赖逻辑,而不是物理、相关记录之间的联系
使用第四代语言(4 gl) 备抵高度的数据独立性
Weak Entity(弱实体)
一个实体对于另一个实体具有很强的依赖关系,而且该实体主键的一部分或者全部都是从其他强实体中获得,则称该实体为弱实体
Derived attribute(派生属性)
Attribute that represents a value that is derivable from value of a related attribute, or set of attributes, not necessarily in the same entity.属性代表了一个值从一个相关属性中派生出来的,或一组属性的值引出,,不一定在同一个实体。
recursive relationship(递归关系)
添加一个外键,使得有一对多的关系,多对多关系
complex relationship(复杂关系)Multiplicity is the number(or range)of possible occurrences of an entity type in an n-ary relationship when other(n-1)values are fixed. problems in an ER model Often due to a misinterpretation of the meaning of certain relationships.通常由于特定的意义关系的误解。connection traps.(连接陷阱)俩个主要的连接陷进:扇形陷进和深坑陷进
扇形陷进:两个实体有一个一对多的关系,从而扇出第三个实体,两个实体键本该有一个直接关系提供必要信息 深坑陷进:一个模型显示实体之间的存在关系,但某些实体出现之间的路径不存在。
Supertype/Subtype Hierarchies(超类和子类)某个实体类型中所有实体同时也是另一个实体类型的实体.此时,我们称前一实体类型是后一实体类型的子类(Subtype),后一实体类型称为超类(Supertype).但是子类有一个很重要的性质:继承性。子类继承其超类上定义的所有属性,其本身还可以包含其他另外的属性.第九章:
磁盘的性能指标:磁盘的容量,存取时间,数据传输速度,可靠性
磁盘的总容量
记录盘面数*每记录盘面的磁道数*每磁道的扇区数*每扇区的字节数
扇区:扇区是磁盘寻址的最小单位,其大小通常是512字节 数据在磁盘上的定位信息:柱面号,磁头号,扇区号 编址方法:柱面从外向内编址(如:0~199),磁道按柱面编号(如:0号柱面从上向下编号0~19,再给1号柱面磁道编号),盘块号(假设每个磁道有17个扇区,0号柱面0号磁道0号扇区的盘块号为0,0号柱面1号磁道0号扇区的盘块号为17)
Access time(存取时间)– the time it takes from when a read or write request is issued to when data transfer begins.(一个读或写请求发出到数据开始传输的时间)Consists of: Seek time(寻道时间)– time it takes to reposition the arm over the correct track.
将磁头移到柱面的时间:约2~30ms Rotational latency(旋转等待时间)– time it takes for the sector to be accessed to appear under the head.
约10~20ms 总时间:10~40ms
Data-transfer rate – the rate at which data can be retrieved from or stored to the disk.(从磁盘上读取数据或存储数据到磁盘的时间)
Mean time to failure(MTTF)(平均失效时间)– the average time the disk is expected to run continuously without any failure.(磁盘无故障连续运行的时间Typically 3 to 5 years)
Block – a contiguous sequence of sectors from a single track data is transferred between disk and main memory in blocks sizes range from 512 bytes to several kilobytes 内存和外存的一次数据交换称为一次I/O操作,每次交换的数据量是一个Block 内存中开辟的缓冲区大小至少要等于一个block Block的大小通常由DBMS厂商决定
廉价磁盘冗余阵列(RAID)Redundant Arrays of Independent Disks 通过冗余提高可靠性
是一种利用大量廉价磁盘进行磁盘组织的技术
价格上,大量廉价的磁盘比少量昂贵的大磁盘合算得多 性能上,使用大量磁盘可以提高数据的并行存取
可靠性上,冗余数据可以存放在多个磁盘上,因此一个磁盘的故障不会导致数据丢失 冗余(Redundancy)
存储额外的信息,以便当磁盘故障时能从中重建
磁盘还是内存?
5-minute rule:如果一个被随机访问的页面的使用频率超过每5分钟一次,那么它应该被驻留在内存
minute rule:如果被顺序访问的页面的使用频率超过每1分钟一次,那么它应该被驻留在内存
文件存储:
The database is stored as a collection of files.Each file is a sequence of records.A record is a sequence of fields 数据库是存储为文件的集合。每个文件都是一个序列的记录。字段的记录是一个序列。
第十章:
Basic Steps in Query Processing(查询处理的基本步骤): 1.Parsing and translation解析和翻译 2.Optimization最优化 3.Evaluation评估
RDBMS查询处理阶段 : 1.查询分析 2.查询检查 3.查询优化 4.查询执行
选择操作典型实现方法:
1.简单的全表扫描方法
对查询的基本表顺序扫描,逐一检查每个元组是否满足选择条件,把满足条件的元组作为结果输出 适合小表,不适合大表 2.索引(或散列)扫描方法
适合选择条件中的属性上有索引(例如B+树索引或Hash索引) 通过索引先找到满足条件的元组主码或元组指针,再通过元组指针直接在查询的基本表中找到元组
排序
原因
SQL查询可以指定对输出进行排序
关系运算的某些操作,如连接运算,排序后实现高效
对于可放进内存的关系,使用如快排序之类的技术。对不能放进内存的关系,使用外排序
内排序
当数据集小于可用内存时,采用快速排序算法 快速排序的思想来源于分治策略。将数据块划分为两个序列,第一个序列的值小于第二个序列,在两个序列中按照递归排序的思想再次进行上述的划分,这样直到没有办法划分为止
外排序
创建有序段+N路归并
所有的输入数据最初分成许多有序的归并段文件,然后不断归并成许多更大的归并段文件,直到剩下一个文件为止
Join Operation 几种不同的连接算法
Nested-loop join(嵌套循环连接)
Block nested-loop join(块嵌套循环连接)Indexed nested-loop join(索引嵌套循环连接)Merge-join(合并连接)Hash-join(哈希或散列连接)
Choice based on cost estimate(根据成本估算选择连接方式)
关系型数据库优点
依赖逻辑,而不是物理、相关记录之间的联系
使用第四代语言(4 gl) 备抵高度的数据独立性
关系数据库系统的查询优化
查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化”做得更好
(1)优化器可以从数据字典中获取许多统计信息,而用户程序则难以获得这些信息
(2)如果数据库的物理统计信息改变了,系统可以自动对查询重新优化以选择相适应的执行计划。在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的
(3)优化器可以考虑数百种不同的执行计划,程序员一般只能考虑有限的几种可能性。
(4)优化器中包括了很多复杂的优化技术,这些优化技术往往只有最好的程序员才能掌握。系统的自动优化相当于使得所有人都拥有这些优化技术
RDBMS关系型数据库管理系统(Relational Database Management System)通过某种等价模型计算出各种查询执行策略的执行代价,然后选取代价最小的执行方案 集中式数据库
执行开销主要包括:
– 磁盘存取块数(I/O代价)– 处理机时间(CPU代价)– 查询的内存开销 I/O代价是最主要的
分布式数据库
总代价=I/O代价+CPU代价+内存代价+通信代价
查询优化的总目标: 选择有效的策略
求得给定关系表达式的值
使得查询代价最小(实际上是较小) 实际系统的查询优化步骤:
1.将查询转换成某种内部表示,通常是语法树
2.根据一定的等价变换规则把语法树转换成标准(优化)形式 3.选择低层的操作算法 对于语法树中的每一个操作
• 计算各种执行算法的执行代价 • 选择代价小的执行算法
4.生成查询计划(查询执行方案)查询计划是由一系列内部操作组成的。2 代 数 优 化
代数优化策略:通过对关系代数表达式的等价变换来提高查询效率
关系代数表达式的等价:指用相同的关系代替两个表达式中相应的关系所得到的结果是相同的
两个关系表达式E1和E2是等价的,可记为E1≡E2
具体方法 笛卡尔积
查询树的启发式优化 典型的启发式规则:
1.选择运算应尽可能先做。在优化策略中这是最重要、最基本的一条
2.把投影运算和选择运算同时进行
如有若干投影和选择运算,并且它们都对同一个关系操作,则可以在扫描此关系的同时完成所有的这些运算以避免重复扫描关系 3.把投影同其前或其后的双目运算结合起来
4.把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算
5.找出公共子表达式
如果这种重复出现的子表达式的结果不是很大的关系并且从外存中读入这个关系比计算该子表达式的时间少得多,则先计算一次公共子表达式并把结果写入中间文件是合算的
当查询的是视图时,定义视图的表达式就是公共子表达式的情况
6.在执行连接操作前对关系适当进行预处理
按连接属性排序 在连接属性上建立索引
索引:
Search Key(检索关键字)1)之间的值。B+-Tree Node Structure(节点结构)
P1是指针,指向子节点(非叶子结点)或指向记录内容(叶子结点)Ki are the search-key values K1是关键字检索值 B+-Tree中的叶子结点
ACID properties of a Transaction(事务的ACID属性)
原子性(Atomicity):一个事务中的所有操作要么全部成功,要么全部失败。原子性由恢复机制实现。 一致性(Consistency):事务完成后,所有数据处于应有的状态,所有内部结构正确,能够准确反映事务所作的工作。基于隔离性实现。
隔离性(Isolation):一个事务不会干扰另一个事务的进程,事务交叉调度执行的结果与串行调度执行的结果是一致的。隔离性由并发控制机制实现。
持久性(Durability):事务提交后,对数据库的影响是持久的,即不会因为系统故障影响事务的持久性。持久性由恢复机制实现。
事务调度:
事务的执行顺序称为一个调度,表示事务的指令在系统中执行的时间顺序
一组事务的调度必须保证
包含了所有事务的操作指令
一个事务中指令的顺序必须保持不变 串行调度
在串行调度中,属于同一事务的指令紧挨在一起 对于有n个事务的事务组,可以有n!个有效调度 并行调度
在并行调度中,来自不同事务的指令可以交叉执行 当并行调度等价于某个串行调度时,则称它是正确的
锁
锁的作用
一个事务对某个数据对象加锁,取得对它一定的控制,限制其它事务对该数据对象的使用,由此提供事务需要的隔离性,保证各个事务不会互相干扰,一个事务不会读取或修改另一个事务正在使用的数据。
此外,锁提供的隔离性还保证事务的一致性。
为了使系统性能良好,应使事务尽量简短和不受干扰。 要访问一个数据项R,事务Ti必须先申请对R的封锁,如果R已经被事务Tj加了不相容的锁,则Ti需要等待,直至Tj释放它的封锁
锁的模式主要有六种:共享锁、更新锁、排他锁、结构锁、意向锁和块更新锁。
共享锁(S锁,Share lock)
事务T对数据对象R加上S锁,则其它事务对R的X锁请求不能成功,而对R的S锁请求可以成功;又称读锁
申请对R的共享锁: lock-S(R) 用于只读数据操作,它允许多个并发事务读取(Select)锁定资源,但禁止其它事务对锁定的资源进行修改。一般读取数据后就释放共享锁,除非要将锁升级。 排它锁(X锁,eXclusive lock)
事务T对数据对象R加上X锁,则其它事务对R的任何封锁请求都不能成功,直至T释放R上的X锁;又称写锁
申请对R的排它锁:lock-X(R) 一般来说,SQL Server在事务结束时释放排他锁。Two-Phase Locking Protocol 两阶段封锁协议内容
增长阶段(Growing Phase)
事务可以获得锁,但不能释放锁 缩减阶段(Shrinking Phase)事务可以释放锁,但不能获得锁
封锁点:事务获得其最后封锁的时间
事务调度等价于和它们的封锁点顺序一致的串行调度 死锁:
两个事务都封锁了一些数据对象,并相互等待对方释放另一些数据对象以便对其封锁,结果两个事务都不能结束,则发生死锁
死锁发生的条件
①互斥条件:事务请求对资源的独占控制
②占有等待条件:事务已持有一定资源,又去申请并等待其它资源 ③非抢占条件:直到资源被持有它的事务释放之前,不可能将该资源强制从持有它的事务夺去
④循环等待条件:存在事务相互等待的等待圈
预防死锁
预先占据所需的全部资源,要么一次全部封锁要么全不
封锁
缺点:难于预知需要封锁哪些数据并且数据使用率低
所有资源预先排序,事务按规定顺序封锁数据 使用抢占与事务回滚
• wait-die:如果T1等待T2,仅当T1的时间戳小于T2时,允许T1等待,否则回滚T1。
• wound-wait:如果T1等待T2,仅当T1的时间戳大于T2时,允许T1等待,否则回滚T2 死锁检测和恢复
超时法
如果等待封锁的时间超过限时,则撤消该事务
等待图法
第三篇:《数据库系统概论》实训报告
《数据库系统概论》实训报告
上机坏境:XP系统SQL Server Management Studio 2008
实训步骤:
一、表的建立
1·建立“供应商关系”S表
2·建立“关系零件” P表
3·建立“工程关系”J表
4·建立“供应关系”SPJ表
二、输入表的数据;
1·输入“供应商关系”S表数据:
2·输入“关系零件” P表数据:
3·输入“工程关系”J表数据:
4·输入“供应关系”SPJ表数据:
三、用SQL语句表达下列查询:
1·检索供应零件给编号为J1的工程的供应商编号SNO
2检索供应零件给工程J1,且零件编号为P1的供应商编号SNO
3查询全体工程的详细信息
4查询没有正余额的工程编号、名称及城市,结果按工程编号升序排列
5求使用零件数量在100与1000之间的工程的编号、零件号和数量
6、查询上海的供应商名称(假设供应商关系的SADDR列的值都以城市名开头)
7、求使用了P3零件的工程名
称
8、求供应零件给工程J1,且零件颜色为红色的供应商编号SNO
9、求至少使用了零件编号为P3和P5的工程编号JNO
10、求不使用编号为P3零件的工程编号JNO和名称JNAME
11、求使用了全部零件的工程名称
12、求至少用了供应商’S1’所供应的全部零件的工程号JNO
13、求供应P3零件的供应商个数
14求项目余额的最大值,最小值,总值和平均值,输出的列名分别为:MAX_NUMBER,MIN_NUMBER,SUM_NUMBER,AVG_NUMBER
15统计每个供应商供应不同零件的种数和供应总数量
16统计上海地区的项目使用零件的种数(超过3种)和零件总数量。要求查询结果按零件的种数升序排列,种数相同时按总数量降序排列。
17求不使用编号为P3零件的工程编号JNO和名称JNAME
18检索至少不使用P3和P5这两种零件的工程编号JNO
19查询最昂贵的零件单价
20查询至少使用了‘东方配件厂’一种零件的工程编号
四.心得体会 经过此次实训,认识到数据库是数据管理的最新技术,是计算机科学的重要分支。促进了信息的便捷管理和查询。在语句的查询中代码的准确性和语句的理解至关重要。
在老师的悉心教导和上机实验实践当中度过的,经过这次实训,让我们学习到了很多东西,让我们又多掌握了一项专业的技术,今后我们将更努力的学习这门课程,勤于实践,不断提高。
第四篇:2018自考《数据库系统原理》填空题总结
第一章节数据库系统基本概念
1.文件系统中的数据独立性是指(设备)独立性。
2.在数据库方式下的信息处理中,(数据)占据了中心位置。
3.DBMS是位于(用户)和(OS)之间的一层数据管理软件。
4.数据模型不仅描述数据本身的特点,还要描述(数据之间的联系)。5.DBS中,用户的数据和磁盘中的数据之间转换由(DBMS)实现。
6.在层次、网状模型中,用(指针)导航数据;而在关系模型中,用(关键码)导航数据。
7.数据库的三级模式结构是对(数据)的三个抽象级别。
8.DBS中存放三级结构定义的DB称为(数据字典)。
9.DBS的全局结构体现了其(模块功能)结构。
10.DBMS为应用程序运行时开辟的 DB系统缓冲区,主要用于(数据传输)和(模式转换)。
11.层次模型用(树)型结构来表示实体间的联系。
12.在数据的人工管理阶段,程序与数据是(一一对应)的关系。
13.定义数据库的安全性和完整性的工作由(DBA)完成。
14.数据独立性的好处是(数据存储方式的变化不会影响到应用程序的使用)。
15.数据库的三级体系结构使用户能抽象地使用数据,不必关心(数据在计算机中的表示和存储)。
16.概念设计阶段用到实体、实体集、属性和实体标识符等4个术语;逻辑设计阶段用到字段、记录、文件和关键码等4个术语; 第二章节数据库设计和 ER模型
1.ER数据模型一般在数据(概念设计)阶段使用。
2.“为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库设计中的(物理设计)阶段。
3.数据模型是用来描述数据库的结构和语义的,数据模型有(概念数据模型)和(结构数据模型)两类,ER模型是(概念数据模型)。
4.数据实施阶段包括两项重要的工作,一项是数据(载入),另一项是应用程序的编码和调试。
5.ER图向关系模型转化要解决的问题是如何将实体和实体之间的联系转换成关系模式,如何确定这些关系模式的(属性和键)。
6.数据库的物理设计是对一个给定的(基本数据)模型选取一个最合适应用环境的物理结构的过程。
7.数据库设计中,将(各局部ER之间的联系)分ER图集成时,主要任务是增补。
8.数据库应用系统设计中逻辑设计的主要内容是把 ER模型的(实体和联系)转换为关系模式。
9.ER方法是(概念数据模型)设计的方法。
10.现实世界到机器世界过渡的中间层次是(概念模型)。
11.概念设计的目标是(企业组织信息需求)产生反映的数据库概念结构,即概念模式。
12.在DBD中,子类具有一个重要的性质:(继承性)。
13.DBD的逻辑设计分成两大部分:(DB逻辑结构设计和应用程序设计)。
14.关系模型用(关键码)表示实体之间的联系。
15.DBS的维护工作由(DBA)承担。
16.概念设计是设计能够反映用户需求的数据库概念结构,即概念模型。17.ER模型是人们认识客观世界的一种方法、工具。18.ER模型具有客观性和主观性两重含义。第三章节关系模式设计理论
1.关系模式的操作异常问题往往是由(数据冗余)引起的。
2.如果 X→Y和 Z Y成立,则 X→Z成立,这条推理则称为。(分解性)
3.在关系模式 R(U)中,X ∈U,Y∈U,X→Y,如果 X的某一真子集 X’都有 X’ →Y,则称为(Y部分函数依赖于 X)。
4.包含在所有候选键中的属性称为(主属性),所有候选键之外的属性称为(非主属性)。5.在关系模式 R(U)中,X,Y∈U,若 X→→Y,Z=U ‐X– Y,则(X→→Z)。6.若关系模式 R中没有非主属性,关系模式 R∈3NF范式。
7.若关系模式 R已属于第一范式,且其中的每一非主属性都(完全函数依赖)于主键,则 R属于第二范式。
8.如果关系 R中只有一个键,且该键是单属性,那么 R至少属于(1NF)范式。
9.被 F逻辑蕴涵的函数依赖的全体称为(F的闭包),记为(F+)。10.关系规范化过程的实质是(对关系模式不断分解的过程)。
11.”不能从已知 FD集使用推理规则导出的 FD不在 F+中”,这是推理规则的(完备)性。
12.在关系模式 R中,能函数决定所有属性的属性组,称为模式 R的(超键)。13.消除了非主属性对候选键局部依赖的关系模式,称为(2NF)模式。
14.两个函数依赖集 F和 G等价的充分必要条件是(F+=G+)。
15.关系 R的每个非主属性既不部分依赖候选键,又不传递依赖于候选键,R∈(第三)范式。
16.消除了每一属性对侯选键传递依赖的关系模式称为(BCNF)模式。
17.在关系模式 R(U)中,X ,Y∈U,若 X→→Y,且 XY=U(或 Y X)。则称 X→→Y为(平凡多值依赖)。
18.一个关系模式属于 4NF,它必定属于(BCNF)。19.数据冗余是指同一个数据存储了多次,由于数据冗余将会引起各种操作异常。20.函数依赖X → Y是数据之间最基本的一种联系。FD有一个完备的推理规则集。21.关系模式在分解时有数据等价和语义等价两种,分别用无损分解和保持依赖两个特征衡量。
22.关系模式的规范化过程实质上是一个“分解”的过程。第四章节关系运算
1.连接操作由关系代数的(笛卡尔积)操作和(选择)操作组合而成。
2.若在关系中置换属性的次序,可用的关系代数运算是(投影)。
3.在关系 R和 S自然连接时,把原该舍弃的元组放在结果关系中,这种操作称为(外连接)。
4.查询优化是指系统对关系代数表达式进行优化组合,它的目的是(提高系统效率)。5.自然连接要求被连接的两个关系具有(一个或多个相同的属性名)。
6.域关系演算类似与元组演算,域变量的变化范围是(某个值域),元组变量的变化范围是(一个关系)。
7.在关系代数运算中,最浪费时间的两个运算是(笛卡尔积)和(连接运算)。8.安全运算是指不产生(无限关系)和(无穷验证)的运算。
9.若 D1={a1,a2,a3} , D2={1,2,3},则 D1× D2集合共有元组(9)个。
10.设 W=,且W、R、和 S的元组个数分别为p、m和 n,那么三者之间应满足的条件是
。(P≤(m ×n))
11.关系中没有行序的原因是
(关系被定义为一个集合)。
12.关系模型的基本数据结构是(关系(或二维表)),其数据库存储时基本组织方式是(文件)。
13.实体完整性规则是对(主键)的约束,参照完整性规则是对(外键)的约束。
14.关系代数的基本操作是
(∪-× Π Q)。15.连接操作由(× Q)等基本操作组合而成。
16.自然连接操作由(× Π Q)等基本操作组合而成。
17.除法操作由(-Π Q)等基本操作组合而成。
18.等式 R S=R×S成立的条件是(R和 S没有公共属性)。
19.对关系进行垂直分割的操作称为(投影),对关系进行水平分割的操作称为(选择)。
20.关系代数是以(关系)为运算对象的一组高级运算的集合。
21.关系运算理论是关系数据库查询语言的理论基础。22.关系查询语言是属于非过程性语言。第五章节 SQL语言
1.SQL语言的使用方式有两种,一种是(交互式),另一种是(嵌入式)。
2.视图是一种虚表,它是从(基本表)导出的表。
3.索引的用途是(快速查询)。
4.在 SQL语言中,创建索引时保留字 UNIQUE的作用是(使此索引的每一索引值只对应于唯一的记录值)。
5.SQL语言的数据查询是介乎于(关系代数)和(关系演算)之间的一种语言。
6.SQL中表结构的修改命令是(ALTER TABLE)。
7.SQL的集合处理方式与主语言单记录的处理方式之间用(游标)来协调。
8.如果在查询结果中不允许出现重复元组,应在 SELECT语句中增加保留字(DISTINCT)。
9.DELETE删除的最小单位是(一个完整的元组)。10.在 SQL中一个关系对应于一个(基本表)。
11.删除索引时,系统会同时从(数据字典)中删除有关该索引的描述。
12.在游标处于(活动状态)时,可以修改或删除游标指向的元组。
13.SELECT语句进行查询时,如果要列出所查表中的所有列的简便方法是列名表用(*)表示。
14.在 SELECT语句中,HAVING子句必须跟在(GROUP BY)子句后面。
15.SQL/PSM提供了(顺序)、(条件分支)和(循环)三种流程控制语句。
16.SQL中,用户有两种:(应用程序)和(终端用户)。
17.SQL中,创建了一个 SQL模式,就是定义了(一个存储空间)。
18.SQL中,外模式一级数据结构的基本单位是(视图)。
19.操作“元组 IN(集合)”的语义是(若元组在集合中,其值为 true否则为 false)。20.嵌入式 SQL的预处理方式,是指预处理程序先对源程序进行扫描,识别出(SQL语句函数调用),并处理成主语言的形式。
21.为保证嵌入式 SQL的实现,通常 DBMS制造商提供一个(SQL函数定义库),供编译时使用。
22.SQL语句嵌入在 C语言程序时,(EXEC SQL分号)必须加上前缀标识和结束标志。
23.关键字 ASC和 DESC分别表示(升序)和(降序)的含义。
24.权限授予的命令是(GRANT)。
25.视图可以定义在(1个或 n个)基本表上。
26.数据库中只存放视图的(定义)而不存放视图的(记录数据)。视图的定义存放在(数据字典)。
27.游标实际上是一个(指针)。当游标指向一组元组中的一个时,该元组被主语言处理。28.基本表结构的修改用关键字(ALTER),基本表内容的修改用关键字(UPDATE)。29.定义卷游标与游标相比多了关键字(SCROLL)。
30.在SELECT语句中可用谓词 UNIQUE来测试结果集合中是否有存在(重复元素)。31.SQL是关系数据库的标准语言。
32.SQL主要是由数据定义、数据操纵、嵌入式SQL、数据控制四个部分组成。33.SQL的数据定义部分包括了对SQL模式、基本表、视图、索引的创建和撤销。34.SQL的数据操纵部分包括了数据查询和数据更新两部分。35.SQL的数据查询是用select语句实现。
36.Select语句的三种格式:连接查询、嵌套查询、存在量词方式。37.在视图中只有行列子集视图是可以更新的。
38.SQL标准的存储过程和SQL/PSM技术是使用SQL语句和流程控制语句编写持久存储模块的规定。
39.SQL集合中交(intersect)、并(union)、差(except).第六章节 数据库管理
1.事务运行过程中,由于种种原因,使事务未运行到正常终止点就被撤消,这种情况称为(事务故障)。
2.事务的原子性由DBMS的子系统来实现(事务管理)的。
3.数据库的并发操作带来三个问题是:丢失更新问题、读脏数据问题和(不可重复读问题)。
4.封锁技术中基本的两种封锁是(排他型封锁)和(共享型封锁)。
5.若事务T对数据 A加上(X)锁,则允许T读取和修改A,其他任何事务都不允许对 A加任何类型的锁,直到 T释放 A上的(X)锁。
6.在数据库技术中,把未提交的随后被撤消的数据称为(脏数据)。7.S锁解决了丢失更新问题,但同时又可能会引起(死锁)问题。
8.SQL2中,程序开始时默认的事务存取模式是(READ WRITE)。9.SQL中用语句定义新的域(CREATE DOMAIN)。
10.触发器的动作事件条件用(WHEN)子句定义,它可以是任意的条件表达式。
11.DBS运行的基本工作单元是事务。
12.事务具有ACID性质,即原子性、一致性、隔离性、持久性。
13.恢复工作是由拷贝备份、UNDO操纵、REDO操作和检查点操作等组成的一项综合性的工作。
14.DB的恢复机制保证了事务的原子性和持久性。
15.DBMS是采用排他锁和共享锁相结合的技术来控制事务之间的相互作用。16.封锁避免了错误的发生,但是有可能产生活锁、死锁、饿锁等问题
17.SQL中采用域约束、基本表约束、断言和触发器机制来实现对DB的完整性。18.数据库的安全性是为了防止对数据库的恶意访问。19.授权是DBS用来防止未授权访问和恶意访问的一种手段。第七章节 SQL Server 2000简介及应用
1.SQL Server 2000是分布式的关系型数据库管理系统,具有(客户/服务器)体系结构。
2.SQL Server 2000中,实际上用户连接的数目上限是(32767)个。
3.SQL Server 2000的版本主要有企业版、标准版、(个人版)和开发版 4个版本。
4.SQL Server Agent服务包括作业、(警告)和操作员三部分。5.服务管理器在启动(SQL Server)服务后才能进行数据库操作。
6.企业管理器提供遵从(Microsoft管理控制台)的用户界面。
7.一个存储过程可以声明零个或多个参数,参数名以(@)开头。8.在SQL Server 2000中,每个表最多有 3个触发器,分别用于
Insert、Update和(Delete)。
9.导入和导出数据可以完成多个数据库之间的(数据转换和转移)。
10.用户访问 SQL Server数据库中的数据时,经过的第一个验证过程是(身份验证)。11.用户在混合验证模式下使用(SQL授权)用户登录 SQL Sever,必须提供登录名和密码。
12.在 SQL Server中,将一组具有相同权限的用户组织在一起称为(角色)。
13.T—SQL语言中局部变量的作用域是(当前的批处理)。14.T—SQL中用于循环结构的流程控制语句是(while语句)。15.创建局部临时表必须使用由(#)开头的表名。
第八章节 PowerBuilder 9.0简介及应用
1.PowerBuilder是一种企业级和(数据库前端应用)多层体系结构开发工具。
2.PB问世于 1991年,最初是由(Powersoft)公司开发。3.PB采用面向对象的编程方法和(事件驱动)的工作原理。
4.PB9.0的开发空间的三个层次是 Workspace、Target和(Library)。5.Target(目标)用于描述加入到工作空间中的(应用)。
6.PowerBuilder库文件的扩展名为(.pbl)。
7.(输出窗口)用于显示对开发人员做出的操作响应,8.PB9.0有两组工具栏: PowerBar和(PainterBar)。
9.数据窗口画板通过提供多个(工作区)来完成与数据窗口对象相关的工作。
10.(结构画板)用于定义程序中使用的全局结构。
11.数据窗口是一个(对象),它包含了对数据库中的数据进行特定操作的信息。
12.在事件的脚本中,置 dw‐l的过滤条件为空的语句是(dw‐l.setfilter(“”))。13.打开窗口 w‐main的语句是(open(w‐main))。14.PB9.0中,连接数据库时用(Connect)命令。
15.PB是基于(客户机/服务器)应用的快速数据库前端开发工具。
第九章节数据库技术的发展
1.对象联系图是对(ER图)的扩展。
2.面向对象技术中,数据类型系统由基本类型、复合类型和(引用类型)三部分组成。
3.相同类型元素的有序集合,并且允许有重复的元素,称为(列表类型)。
4.复合类型中的数组、列表、包、集合统称为(汇集类型或批量类型)。
5.引用类型可以避免数据结构的(无穷嵌套)。
6.传统的关系模型中,每一个关系模式都具有(1NF)性质。
7.结构类型是(不同类型)元素的有序集合。8.子类具有(继承性)。
9.在面向对象模型中的对象相当于ER模型中的(实体)。
10.目前面向对象开发的行业标准语言是(统一建模语言或UML)。
11.关联的端部,也就是与关联相连的类,称为(关联角色)。
12.ODBC技术使得(应用程序)与 DBMS之间在逻辑上可以分离。13.API的中文含义是(应用程序设计接口)。
14.ODBC技术为应用程序提供了一套(基于DLL的运行支持环境)CLI函数库。
15.ODBC规范定义的驱动程序有两种类型:即单层驱动程序和(多层驱动程序)。
16.数据源是驱动程序与(DBS)连接的桥梁。
17.CLI定义了一套可以从宿主语言调用的公共函数,每一个函数具有一个名称和一个(要求的算法)。18.使用 SQL/CLI时,函数调用 SQL语句将作为参数动态地创建和传递(字符串)。
19.驱动程序管理器用于连接各种DBS的(DBMS驱动程序)。
20.数据库应用系统开发工具可以在客户机上通过(ODBC)接口与诸如 Oracle、SQL Server等服务器端的数据库相连。
21.面向对象技术中复合类型有:行、数组、列表、包和集合五种;
22.使用“select distinct”查询到的结果实际上为集合;而没有使用distinct方式的查询结果实际上为包;使用ORDER BY子句查询结果实际为列表; 23.概念建模走了一条“ER图-对象联系图-类图”的发展历程;
第五篇:项目设计总结
江南大道交通设施提升改造工程——智
能交通
设计总结
二〇一五年十一月
江南大道交通设施提升改造工程设计总结
目录
1工程概况...................................................................1 2设计过程...................................................................2 3主要设计依据..............................................错误!未定义书签。4设计内容...................................................................3 5设计变更情况...............................................................3 6设计单位对工程质量的评价意见...............................................4 7设计体会...................................................................4
I
江南大道交通设施提升改造工程设计总结 工程概况
江南大道是贯穿滨江区的东西向主轴线,是滨江区沟通钱塘江大桥、复兴大桥和西兴大桥的交通干道,是杭州萧山国际机场通往杭州主城区的主要通道,是杭州市重要的城市门户形象道路。江南大道作为杭州市城市交通走廊,是杭州市城市道路网的重要组成部分。江南大道西接钱塘江大桥,东接西兴大桥,全长约9.3km,现状全路段限速80km/h。
江南大道(西环路-西兴路段)由西向东分别与西环路、东信大道、伟业路、火炬大道、环兴路、信诚路、南北支路、建业路、江三加油站、时代大道地面道路、长河路、江虹路、江汉路、江晖路、泰安路、通和路、江陵路、阡陌路、西兴路平面相交,含规划交叉口共计19个交叉口。江南大道(西环路-西兴路段)19个路口全部已设置信号控制系统,其中4个路口信号灯暂未启用(中间现状采用护栏隔离),9个路口现状设置电子警察,16个路口现状设置交通监视。
江南大道交通设施提升改造工程设计总结 设计过程
2013年8月,我院接受委托进行江南大道交通设施提升改造工程的设计工作,在现场调查并深入对接设计需求后,于2013年10月完成江南大道交通设施提升改造项目建议书,并于2013年11月完成江南大道交通设施提升改造工程工程可行性研究报告,根据批复意见和技术需求,于2014年11月完成本项目施工图。
江南大道交通设施提升改造工程设计总结 设计内容
本设计主要内容包括交通信号控制系统、交通违法监测系统、交通视频监视系统、高点球机系统等,具体主要包括:
1)交通信号控制系统改造17套; 2)交通违法监测系统新增15套; 3)交叉口视频监视系统新增18套。4)高点监视系统新增4套,保留原先1套;
5)设置10套雷达测速箱体,另配备1套移动测速设备; 6)行车诱导系统新增4套; 7)三百米严管区系统新增4套; 8)拥堵检测系统新增8套;
9)对交警大队指挥中心进行升级改造。设计变更情况
配合工程建设实际,对300米严管区、电子警察杆件等进行了变更调整,详见相关联系单。
江南大道交通设施提升改造工程设计总结 设计单位对工程质量的评价意见
本工程建设期短、标准高、施工难度大,业主、监理和承包商均能够较好的按施工图设计文件要求进行施工,使工程质量较好的达到了设计要求。设计体会
本工程设计时间较紧、任务重,自始至终得到了相关领导和建设各方的支持,使得整个工程得以顺利完成,在此表示衷心的感谢。
浙江省交通规划设计研究院
2015年11月