数据库管理系统及其应用开发环境的创建使用
- 格式:doc
- 大小:188.50 KB
- 文档页数:8
MySQL数据库原理及应⽤(第2版)(微课版)-习题答案习题答案项⽬1 习题答案12.填空题(1)物理数据独⽴性(2)数据库管理系统((DBMS)(3)现实世界、信息世界、数据世界(4)码(5)⼀对⼀(1:1)、⼀对多(1:n)、多对多(m:n)(6)概念数据模型 E-R模型(7)逻辑数据物理数据(8)DBMS(数据库管理系统) DBA(数据库管理员)(9)关系的参照(10)θ3.简答题(1)数据模型是对现实世界的数据特征进⾏的抽象,来描述数据库的结构与语义。
数据模型的三要素是:数据结构、数据操作、数据约束条件。
(2)逻辑数据独⽴性:当模式改变时(如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式映像作相应改变,可以使外模式保持不变。
因⽽应⽤程序不必修改,保证了数据与程序的逻辑独⽴性,简称逻辑数据独⽴性。
物理数据独⽴性:当数据库的存储结构改变了(如选⽤了另⼀种存储结构),由数据库管理员对模式/内模式映像作相应改变,可以保证模式保持不变,因⽽应⽤程序也不必改变。
保证了数据与程序的物理独⽴性,简称物理数据独⽴性特定的应⽤程序是在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构相独⽴。
不同的应⽤程序可以共⽤同⼀外模式。
数据库的两级映像保证了数据库外模式的稳定性,从⽽从底层保证了应⽤程序的稳定性,使得数据库系统具有数据与程序的独⽴性。
(3)数据库系统由计算机硬件、数据库、数据库管理系统(及其开发⼯具)、数据库应⽤系统、数据库⽤户构成。
(4)DBA的职责是对使⽤中的数据库进⾏整体维护和改进,负责数据库系统的正常运⾏,是数据库系统的专职管理和维护⼈员。
系统分析员负责应⽤系统的需求分析和规范说明,要和⽤户及DBA结合,确定系统的硬件软件配置,并参与数据库系统的概要设计。
数据库设计⼈员负责数据库中数据的确定、数据库各级模式的设计。
应⽤程序开发⼈员负责设计和编写应⽤程序的程序模块,并进⾏测试和安装。
计算机系课程标准数据库技术及应用课程标准课程名称:数据库技术及应用课程代码:适用专业:计算机软件技术学时:60 学分:4开课学期:第一部分前言1、课程性质与地位本课程是软件技术专业的一门核心课程、专业必修课程,也是计算机应用技术专业和网络技术专业的选修课程。
本课程的功能是使学生掌握大型数据库SQL Server/Oracle的构架、组件和安全性方面的知识,具备一定的大型数据库开发基础,掌握大型数据库的管理和实现方法,培养学生在大型数据库分析、设计、使用、维护和管理等方面的能力。
学好本课程可为将来从事数据库管理、软件开发等工作提供所必须的知识和技能基础。
2、课程的基本理念通过实际信息系统项目的文档及分析设计结果体会数据库系统的概念即开发过程;通过项目实做理解数据库应用系统分析的原理与工具,获取需求分析、系统设计的经验;综合应用面向对象技术、数据库设计与技术完成系统功能,为掌握中小型数据库系统开发与数据库管理奠定基础。
3、课程标准的设计思路计算机软件技术专业学生的职业范围之一是计算机系统管理人员,而数据库管理则是计算机系统管理人员必备的技能。
计算机系统管理员必须掌握数据库的安全管理和数据库的备份与还原,能够对数据库进行简单操作,能读懂创建数据库对象的代码。
计算机应用技术专业和软件技术专业都以SQL Server数据库为前序课程,学习Oracle数据库为更深入的学习、使用、维护管理数据库,为数据库应用系统的开发打下坚实的基础。
数据库应用系统的开发需要掌握数据库的分析设计方法、数据库和数据表的创建、数据查询、数据库其他对象(视图、存储过程、触发器、包等)的合理应用,同时还需要了解数据库的安全管理以及数据库的备份与还原。
本课程是依据上述三个专业的“工作任务与职业能力分析表”中的相关任务领域而设置的。
把典型的工作任务转化为课程的学习性的任务,按照职业活动工作顺序将课程所对应的理论知识和实践知识进行合理有效的整合,构建以工作体系为基础的课程内容体系,完成“行动领域”到“学习领域”的转化,以数据库应用开发为主线,以具体项目(任务)为载体,每个项目(任务)都包括实践知识、理论知识,每个项目(任务)都是一些具体的行动化学习任务,课程的安排围绕学习性的任务而展开,从而完成“学习领域”到“学习情境”的转化。
实验1 数据库的创建与管理1.1 实验目的(1)掌握开发环境的基本功能和使用方法。
(2)掌握数据库的建立方法。
(3)掌握图形界面下的数据表设计方法。
(4)掌握数据表记录的“增删改查”方法。
(5)掌握数据库的导入导出方法。
1.2 实验内容与步骤1.2.1 建立数据库启动MS SQL SERVER 2005,并建立学生管理数据库,文件名为学生自己姓名首字母的缩写,如张大千同学缩写为ZDQ。
设置库的大小50M,日志文件大小25M的新数据库。
1.2.2数据表的设计参照教材P50页的要求逻辑设计表,为自己实现以下3个表:学生表:Student(Sno, Sname, Ssex, Sage, Sdept);课程表:Course(Cno, Cname, Credit, Semester);学生选课表:SC(Sno, Cno, Grade)设计要求:(1) 定义关系模式(包括表名,属性名,属性类型及长度);(2) 定义表的主码及外码。
1.2.3 数据表记录的“增删改查”操作至少输入学生记录10条、系别4个、课程10个,便于后续实验的数据操纵、视图设计和数据控制处理。
数据库还原:数据库备份:实验2 数据操纵 2.1 实验目的(1)掌握SQL语言中数据查询和数据更新的语句(2)掌握SQL语言中数据更新的语句(3)掌握使用SQL语句进行视图的定义的方法2.2 实验步骤2.2.1使用SQL语句完成数据查询完成教材第五章例1到例82的例题题目选出40个进行实验,并把相应的命令语句写入实验报告。
对例45、例51(两种方法(自连接、子查询))以及外连接的操作在实验报告中给出运行结果。
2.2.2 使用SQL语句完成数据更新完成教材第五章5.2节的例题中的40个,并把相应的命令语句写入实验报告并给出运行结果。
1.SELECT Sname,Sage FROM StudentSELECT Sname,Sno,Sdept FROM StudentSELECT * FROM StudentSELECT Sname,2014-Sage FROM StudentSELECT Sname,Sage FROM StudentWHERE Sage<216.SELECTStudent.Sno,Student.Sname,Student.Ssex,Student.Sage,Student.Sdept,SC. Grade FROM Student INNER JOIN SCON Student .Sno=SC.SnoSELECT Sname,Sdept,Sage FROM StudentWHERE Sage BETWEEN 20 AND 23SELECT Sname,Ssex FROM StudentWHERE Sdept IN('xinxi','tongxin','shuxue')SELECT*FROM StudentWHERE Sname LIKE'a%'SELECT*FROM StudentWHERE Sname LIKE'[abc]%'11.SELECT*FROM StudentWHERE Sname LIKE'_[1]%'SELECT*FROM StudentWHERE Sname NOT LIKE'[ab]%'SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.SnoWHERE Student.Sno NOT IN(SELECT Sno FROM SCWHERE Cno ='a001')SELECT DISTINCT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Student.Sno IN(SELECT Sno FROM SCWHERE Cno ='100')SELECT Sname,Sdept,Grade AS'tiyu'FROM Student JOIN SC ONStudent.Sno=SC.Sno JOIN Course ON o=oWHERE Cname ='tiyu'AND Grade >(SELECT AVG(Grade)FROM SC JOIN Course ON o=oWHERE Cname='tiyu')16.SELECT Sname,Sdept FROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname ='a1')AND Sname !='a1'SELECT Sno,AVG(Grade)FROM SCGROUP BY SnoHAVING AVG(Grade)>(SELECT AVG(Grade)FROM SC)SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROMStudent JOIN SC ON Student.Sno=SC.SnoSELECT Sname,Sage FROM StudentWHERE Sdept ='shuxue'AND Sage=(SELECT MAX(Sage)FROM Student)SELECT Sno,Grade FROM SCWHERE Cno ='100'AND Grade>(SELECT AVG(Grade)FROM SC)21.SELECT COUNT(*)'选课门数',AVG(Grade)'平均成绩'FROM SCWHERE Sno IN(SELECT Sno FROM SC JOIN Course ON o=oWHERE Cname='shujuku')GROUP BY SnoSELECT Sno,Sname FROM StudentWHERE Sno IN(SELECT Sno FROM SC JOIN Course ON o=oWHERE Cname ='shujuku')SELECT Sname,Ssex FROM StudentWHERE Sdept ='xinxi'AND Sno IN(SELECT Sno FROM SCWHERE Cno ='100')SELECT Student.Sno,Sname FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Grade >=90SELECT*FROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname ='a1')AND Sname !='a1'26.SELECT TOP 2 WITH TIES Cno,COUNT(*)'人数'FROM SCGROUP BY CnoORDER BY COUNT(*)ASCSELECT TOP 3 WITH TIES Sname,Sdept,Grade FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname ='shujuku'ORDER BY Grade DESCSELECT TOP 3 WITH TIES Sname,Sage,Sdept FROM StudentORDER BY Sage DESCSELECT COUNT(*)FROM Student JOIN SC ON Student.Sno=SC.SnoWHERE Sdept ='xinxi'GROUP BY Student.SnoORDER BY COUNT(*)DESCSELECT Student.Sno,COUNT(o)FROM Student LEFT JOIN SC ON Student.Sno=SC.SnoWHERE Sdept ='xinxi'GROUP BY Student.SnoORDER BY COUNT(o)DESC31. SELECT Sname,Ssex FROM Student LEFT JOIN SC ON Student.Sno=SC.Sno WHERE Sdept ='xinxi'AND Cno IS NULLSELECT Cname FROM SC RIGHT JOIN Course ON o=oWHERE Sno IS NULLSELECT Student.Sno,Sname,o,Grade FROM SC RIGHT JOIN Student ON SC.Sno=Student.SnoSELECT Cname,Credit FROM CourseWHERE Credit =(SELECT Credit From CourseWHERE Cname ='gaoshu')AND Cname !='gaoshu'SELECT Sdept,AVG(Grade)FROM SC JOIN Student ON SC.Sno=Student.Sno GROUP BY Sdept36. SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname='shujuku'SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname='shujuku'AND Sdept ='xinxi'SELECT Sname,Cno,Grade FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Sdept ='xinxi'SELECT Sdept,COUNT(*)FROM StudentWHERE Sage <=20GROUP BY Sdept40.SELECT Sno,COUNT(*)FROM SCGROUP BY SnoHAVING COUNT(*)>=2。
可编辑修改精选全文完整版《数据库技术及应用》课程教学大纲一、课程简介本课程是计算机类专业必修的专业课程。
关系数据库是当今数据库技术的主流,本课程以关系数据库为核心,全面概述了数据库系统的基本概念、基本原理和基本技术。
内容覆盖了数据管理技术的进展和特点、数据库系统的组成、数据库的三级模式结构、数据模型的组成和分类、关系模型、SQL语言(含数据库完整性的实现)、索引和视图、数据库安全性、事务的并发控制和恢复、规范化设计理论、ER模型和数据库设计等。
面对21世纪互联网应用所产生的海量数据和巨大点击量,关系型数据库技术显得有些力不从心,这助推了更注重大数据存储和高并发交互响应的NoSQL数据库技术的诞生。
本课程概要介绍NoSQL数据库技术的概念与特点、存储模式、基本操作和应用场景。
数据库技术是信息处理技术中的核心和关键技术,也是一切信息系统的基础。
本课程采用基本理论与实际应用相结合的原则,在注重理论性、系统性和科学性的同时,结合目前最流行的数据库管理系统(SQL Server 2014和MongoDB)对照讲述数据库的基本技术与应用。
通过Python数据处理技术的学习,训练运用数据库技术解决实际应用问题的知识、素质和能力,为后继课程的学习和今后的工作奠定重要基础。
二、课程目标1、掌握数据库技术的基本概念、原理、方法和技术;2、掌握SQL语言查询和编程的基本技术,具备SQL语言编程能力;3、掌握一个典型的RDBMS(如SQL Server)数据库安全性管理、事务并发控制以及数据库备份和恢复的基本技能;4、掌握关系数据库规范化设计理论和ER模型基本方法,具备独立思考设计数据库的能力;5、初步掌握使用Python语言连接SQL Server数据库的方法,培养学生应用数据库技术解决实际问题的思维方法与基本能力;6、初步掌握自主学习方法,能够阅读并理解数据库相关文献,不断拓展知识面,更新知识结构,从而了解数据库技术的最新发展。
《数据库管理与应用(MSSQL)》课程标准本课程是软件技术专业的一门实践性很强的专业基础课。
培养学生数据库的开发、管理和维护能力,为从事数据库应用开发、系统管理和维护奠定基础。
前导课程:《c语言程序设计》后续课程:《JavaWeb程序设计》、《C#程序设计》、《ASP。
NET程序设计》二、课程目标通过本课程的学习,使学生了解大型数据库的基本概念,能创建和管理数据库及其对象,掌握数据库程序设计的基本思想和方法,培养学生对SQLSerVer数据库进行日常管理与维护的技能,为数据库的开发、应用与维护打下基础。
(一)知识目标1.了解SQLServer的基本概念和结构;2.掌握数据库设计基本知识;3.掌握解数据库及其对象的创建方法;4.掌握Transact—SQL语言的编程知识;5.掌握数据库日常维护和管理方法;6.掌握基本的数据库综合应用开发的方法。
(二)能力目标1.1.能安装和配置SQLSerVer数据库管理系统;2.具有设计符合规范的数据库的能力;3.能熟练创建和管理数据库及数据库对象,并实施数据完整性;4.具备良好的数据库编程能力;5.具备数据库日常维护、管理及程序的纠错能力;6.具备基本的数据库综合应用开发能力。
(三)素质目标1.具有规范的编程风格和习惯;2.具有良好的分析问题和解决问题的能力以及技术文档写作、沟通和团队协作能力;3.具有科学、严谨的工作态度,良好的敬业精神和创新精神;4.培养学生自主学习的能力,具有终身学习的精神和和可持续发展能力。
(四)其他目标通过课程学习,为以下职业技能证书的考试打下良好基础。
1.微软MCDBA;2.微软认证技术专家MCTS(SQLServer)<,三、课程内容与要求根据课程目标所要求掌握的知识、能力和职业素质,课程内容及要求如下:31《数据库管理与应用》内容及要求四、教学资源要求(一)教材选用原则教材应充分体现培养学生的职业能力,以“教、学、做”为一体组织课程内容,注重理论与实践相结合、教材内容与行业标准要求相结合,强调理论在实践过程中的应用。
离散数学第二版罗熊课后答案第1章绪论 1 .试述数据、数据库、数据库系统、数据库管理系统的概念。
答:( l )数据( Data ) :叙述事物的符号记录称作数据。
数据的种类存有数字、文字、图形、图像、声音、正文等。
数据与其语义就是不可分的。
解析在现代计算机系统中数据的概念就是广义的。
早期的计算机系统主要用作科学计算,处置的数据就是整数、实数、浮点数等传统数学中的数据。
现代计算机能够存储和处置的对象十分广为,则表示这些对象的数据也越来越繁杂。
数据与其语义就是不可分的。
500 这个数字可以表示一件物品的价格是 500 元,也可以表示一个学术会议参加的人数有 500 人,还可以表示一袋奶粉重 500 克。
( 2 )数据库( DataBase ,缩写 DB ) :数据库就是长期储存在计算机内的、存有非政府的、可以共享资源的数据子集。
数据库中的数据按一定的数据模型非政府、叙述和储存,具备较小的冗余度、较低的数据独立性和易扩展性,并可向各种用户共享资源。
( 3 )数据库系统( DataBas 。
Sytem ,缩写 DBS ) :数据库系统就是所指在计算机系统中导入数据库后的系统形成,通常由数据库、数据库管理系统(及其开发工具)、应用领域系统、数据库管理员形成。
解析数据库系统和数据库就是两个概念。
数据库系统就是一个人一机系统,数据库就是数据库系统的一个组成部分。
但是在日常工作中人们常常把数据库系统缩写为数据库。
期望读者能从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引发混为一谈。
( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
DBMS 的主要功能包含数据定义功能、数据压低功能、数据库的运转管理功能、数据库的创建和保护功能。
解析 DBMS 就是一个大型的繁杂的软件系统,就是计算机中的基础软件。
学考复习第五部分:信息资源管理【考点】一、信息资源管理的目的和方法1、信息资源管理的一般过程各种信息资源管理活动都按一定的方法和程序进行,从具体需要出发,对信息资源分类、组织和存储,继而提供方便的信息服务,与此同时,还要不断地进行更新与维护。
信息资源可以采用标准的或约定俗成的分类方法进行分类,广泛使用的有学科分类和主题分类两种分类方法。
一般而言,学科分类由权威机构发布,成为全社会或行业所遵守的标准.主题分类方法则有一定的随意性。
标准化是指国际、国家、地方或某行业通过制定和实施某种标准,统一规定社会活动中重复性的事物和概念,以获得最佳的秩序和社会效益。
标准的内容一般包括标准化术语、标准化技术、标准化设施、标准化管理过程四个方面。
标准化管理的主要作用:(1)缩短了信息资源的开发周期,提高了劳动生产率。
(2)使信息产品开发与使用等各个环节的技术衔接和协调得到了保证。
(3)有助于提高信息的使用率.(4)通过制定质量标准提高信息资源的质量,保护消费者的利益。
2、信息资源管理的普遍性及其意义管理伴随着信息的获取、加工、存储、发布等信息活动的整个过程。
信息资源管理有利于更好地检索自己需要的信息、满足公众的信息需求、确保信息资源的有效利用。
3、信息资源管理的目的信息资源管理的目的在于提高信息利用的效率、更好地实现信息的价值,为正确决策提供大量准确的、全面的和及时的信息资源支持,是知识发现和技术创新的源泉。
4、信息资源管理的方法信息资源管理的方式主要有三种:人工管理、文件管理和数据库管理。
人工管理灵活、简便,无需依赖环境设备,但对大量信息资源进行重新组织管理比较困难.文件管理以文件和文件夹为信息单位,方便了信息的整理、加工和检索,但需要人与计算机的高度交互。
数据库信息管理便于信息的分类、排序、检索、统计等,处理速度快,效率高,但对计算机硬件和软件要求较高,适合于大数据量、专门化的信息资源管理。
二、信息资源的管理1、用软件工具进行个人日常事务管理的基本方法利用软件工具进行个人日常事务管理有利于提高管理效率,一般方法是根据管理需要编制或下载软件工具,将其安装到计算机中,进行信息的录入、修改、查询等管理工作.2、用PDA管理日常事务PDA(Personal Digital Assistant,个人数字助理)俗称掌上电脑,是常用的个人信息管理工具,可以记录个人日程安排、待办事项,具备电话簿、计算器、电子词典等功能,还可以与计算机相连进行信息交换。
数据库原理及应用实验教案第一章:数据库基础1.1 实验目的了解数据库的基本概念掌握数据库的基本操作1.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具1.3 实验内容实验一:创建数据库和表学习使用数据库管理系统的命令行工具或图形界面工具创建数据库学习使用SQL语句创建表实验二:数据库的简单操作学习使用SQL语句进行数据的插入、查询、更新和删除操作第二章:数据库设计2.1 实验目的掌握数据库设计的基本步骤和方法学会使用实体-关系模型设计数据库2.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具2.3 实验内容实验三:实体-关系模型设计学习实体-关系模型的基本概念和表示方法根据给定的需求设计实体-关系模型实验四:将实体-关系模型转换为数据库模式学习将实体-关系模型转换为数据库模式的方法将设计的实体-关系模型转换为数据库模式第三章:SQL语言3.1 实验目的掌握SQL语言的基本操作学会使用SQL语言进行数据库的创建、查询和更新操作3.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具3.3 实验内容实验五:SQL语言的基本操作学习使用SQL语言创建数据库、表、视图和索引学习使用SQL语言进行数据的插入、查询、更新和删除操作第四章:数据库的安全与保护4.1 实验目的了解数据库的安全与保护的基本概念和方法学会使用数据库管理系统的权限管理和备份恢复功能4.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具4.3 实验内容实验六:数据库的权限管理学习使用数据库管理系统的权限管理功能,创建用户和角色,分配权限实验七:数据库的备份与恢复学习使用数据库管理系统的备份与恢复功能,进行数据库的备份和恢复操作第五章:数据库应用系统设计与实现5.1 实验目的掌握数据库应用系统的设计与实现的基本步骤和方法学会使用数据库管理系统进行应用程序的开发5.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具编程语言环境和开发工具(如Java、Python或C等)5.3 实验内容实验八:数据库应用系统的设计与实现学习使用数据库管理系统进行应用程序的连接、查询和更新操作实验九:实现简单的数据库应用功能使用编程语言环境和开发工具,实现用户登录、数据查询和数据增删改等功能实验十:测试与优化数据库应用系统对实现的数据库应用系统进行测试和优化,确保系统的稳定性和性能第六章:数据库性能优化6.1 实验目的学习数据库性能优化的基本策略和方法。
数据库开发是创建和维护数据库应用程序的过程,以下是数据库开发的主要步骤和相关要点:1. 需求分析●与相关方沟通:与业务部门、最终用户等进行充分交流,了解他们对数据库系统的功能需求、业务流程、数据处理要求等。
例如,对于一个电商系统,要了解商品信息管理、订单处理、用户账户管理等方面的具体需求。
●确定数据范围和约束:明确需要存储的数据类型、数据量的大致估计、数据的更新频率、数据之间的关系以及各种业务规则和约束条件。
比如,订单数据中的订单编号必须唯一,商品库存不能为负数等。
2. 数据库设计●概念设计:o绘制ER 图(实体- 关系图):识别系统中的实体(如用户、订单、商品等)、实体的属性(如用户的姓名、年龄、联系方式等)以及实体之间的关系(如用户与订单是一对多关系,订单与商品是多对多关系)。
这有助于从宏观角度理解数据结构。
o逻辑设计:o将 ER 图转换为关系模型:确定表结构,包括表名、列名、数据类型、主键、外键等。
例如,将用户实体转换为名为“users”的表,包含“user_id(主键)、name、age、email”等列。
o规范化数据:通过规范化过程(如第一范式、第二范式、第三范式等)消除数据冗余和潜在的数据不一致性。
比如,将订单详情信息从订单表中分离出来,创建一个单独的“order_details”表。
o物理设计:o选择存储引擎:根据应用需求选择合适的数据库存储引擎。
例如,MySQL 中的 InnoDB 存储引擎支持事务处理和外键约束,适合对数据完整性要求较高的应用;而 MyISAM 存储引擎则在读取性能上有优势,适用于以查询为主的场景。
o考虑索引策略:确定哪些列需要创建索引以提高查询效率。
例如,在经常用于查询条件的列(如用户登录的用户名和密码列)上创建索引,但要注意索引过多可能会影响数据插入、更新的速度。
o确定数据存储位置和分区(如果需要):对于大型数据库,可以考虑将数据存储在不同的磁盘分区或存储设备上,或者对数据进行分区(如按日期范围对日志数据进行分区)以提高性能。
Oracle数据库管理操作方法及界面导览Oracle数据库是一种流行的关系型数据库管理系统,广泛应用于企业级应用和大型数据处理环境中。
本文将介绍Oracle数据库的管理操作方法和相关界面导览,帮助读者更好地理解和应用该数据库。
一、数据库安装和配置在开始使用Oracle数据库之前,首先需要进行安装和配置。
以下是Oracle数据库安装和配置的简要步骤:1. 下载并解压安装包:从Oracle官方网站下载适用于您的操作系统的Oracle数据库安装包,并将其解压到目标文件夹。
2. 运行安装向导:进入解压后的文件夹,运行安装向导程序,按照提示完成数据库的安装。
3. 创建数据库实例:安装完成后,您需要使用Oracle提供的工具创建一个数据库实例,包括数据库的名称、存储路径等信息。
4. 配置数据库参数:根据实际需求,对数据库的参数进行配置,例如内存大小、网络连接等。
二、数据库连接和管理工具一旦数据库安装和配置完成,就可以通过数据库连接和管理工具来进行进一步的操作。
以下是常用的Oracle数据库连接和管理工具:1. SQL*Plus:这是Oracle提供的命令行工具,用于执行SQL语句和管理数据库对象。
通过在命令行中输入sqlplus命令,加上数据库用户名和密码,即可进入SQL*Plus界面。
2. Oracle SQL Developer:这是Oracle官方推出的集成开发环境(IDE),提供了图形化的界面来连接和管理数据库。
可以通过界面上的连接按钮,输入数据库连接信息完成连接。
3. Oracle Enterprise Manager Database Control(EM):这是Oracle官方提供的网页界面管理工具,可以通过浏览器访问,对数据库进行监控和管理。
输入相应的URL地址即可打开EM界面。
三、数据库对象管理Oracle数据库中的核心概念是对象,包括表、视图、索引等。
以下是一些常用的数据库对象管理操作:1. 创建表:使用CREATE TABLE语句创建表,指定表名、列名和数据类型等信息。
数据库系统设计与开发⽬录⼀、关系数据库系统概述数据:是对事物描述的符号记录,它描述事物中⼈们所感兴趣的特征,它能被计算机识别、存储和处理数据管理:是对数据的分类、组织、编码、存储、查询和维护等活动,是数据处理的中⼼环节数据管理的⽬标:减少数据的冗余度(数据的重复存储)提⾼数据的共享性(⽤户/语⾔/现在未来)提⾼数据的独⽴性(应⽤程序独⽴于数据结构变化)数据管理的三个阶段:⼈⼯ -> ⽂件 -> 数据库(60年代末)数据库技术:数据管理的最新技术,研究数据库的结构、存储、管理和使⽤DBS的组成:数据库:以⼀定的组织形式(数据模型)存放在计算机存储设备上的相关数据的集合数据库管理系统:管理数据库的软件1. 提供多种⾼级⽤户接⼝2. 查询处理和优化3. 数据的安全性控制4. 数据的完整性控制5. 并发控制6. 数据库恢复7. 数据⽬录(数据字典)管理⽤户或应⽤程序1. 基于数据库的应⽤程序及⽤户2. 使⽤简单的终端命令会查询语⾔对数据库进⾏存取操作,即以查询性应⽤为主的⽤户数据库管理员(DBA):进⾏数据库的规划、设计、协调、维护和管理的⼈员或集体数据库系统的⽣存周期数据库系统的规划数据库设计数据库的建⽴数据库的运⾏、管理和维护数据库的扩充和重构开发数据库系统的有关⼈员1. 数据库管理员:进⾏数据库的规划、设计、协调、维护和管理2. 系统分析员:负责应⽤系统的需求分析和规范说明,与DBA和⽤户⼀起确定DBS的硬件平台和软件设置,参与DBS设计3. 程序设计员:负责设计和编制应⽤系统程序模块,并进⾏调试和安装4. ⽤户:参与可⾏性研究与需求分析关系数据模型与关系模式数据模型 -> ⽤来描述数据的⼀组概念和定义三级数据模型概念数据模型:⾯向客观世界,与DBMS⽆关(E-R)逻辑数据模型:关系数据模型(⾯向⽤户和DBMS)物理数据模型:与DBMS、OS和硬件有关逻辑数据模型的三要素:1. 数据结构 -> 规定如何把基本的数据项组织成较⼤的数据单位2. 数据操作 -> 查询、更新(增、删、改);定义操作的含义、操作规则和实现操作的语⾔3. 数据约束 -> 是⼀组完整性规则的集合,定义了给定数据模型中数据及其联系所具有的制约和依赖规则数据模式 -> ⽤数据模型对具体数据的描述关系数据模型关系数据库由关系组成(⽤⼆维表表⽰)关系由元组组成(⼆维表的⾏),元组⽆序元组由属性组成(⼆维表的列),属性⽆序属性的取值范围 -- >属性域(原⼦数据的有限集)数据间的关系⽤键(候选/主/主属性/外)隐含表⽰关系中属性的个数 --> 关系的⽬关系中元组的个数 --> 关系的基数关系名+属性名 --> 关系模式候选键:其属性或属性组的值能唯⼀决定其它所有属性的值,⽽它的任何真⼦集⽆此性质主属性 ------- 包含在任何⼀个候选键中的属性⾮主属性 ----- 不包含在任何⼀个候选集中的属性主键(Primary Key(PK)):当⼀个关系能有多个候选键时,可选定⼀个来标识元组外键(Foreign Key(FK)):(不是本关系的键)却引⽤了其它关系或本关系的键的属性或属性组关系数据模型中表内不同元组间的联系⽤外键隐含地表⽰关系数据模型中表间(实体间)的联系是⽤外键隐含地表⽰的⼆、约束(四类)1. 域完整性 --> 属性域中的值/由语义决定可否为NULL2. 实体完整性 --> 每个关系都有⼀个主键、值唯⼀、≠NULL3. 引⽤完整性约束 --> 外键引⽤已有的主键值,或为NULL(⾮主属性作为主键)4. ⼀般化完整性约束 --> 由⽤户定义的、和数据的具体内容有关的约束前三个称为隐含约束后⼀个为显⽰约束(可⽤触发器、断⾔、过程)属性为原⼦的 --> 固有约束数据库中完整性约束检查,由DBMS实现或由⽤户负责操作查询是更新的基础操作的对象及运算结果都是关系关系代数完备集(σ,Π,∪, —, × )σ:在关系中选出符号条件的元组(⾏)----> ⽔平分割(where)Π:选取关系中感兴趣的列,可重排列顺序 -----> 对关系垂直分割(select)×:如:R x S :⽬为 r+s,基数为基数R x 基数S⋈:只保留⼀个关系中的公共属性关系代数运算与SQL的QL的对应关系:QL 的完整句法:QL 的执⾏过程:三、RDBMS 概述1、层次结构:应⽤层:应⽤程序与DBMS之间的接⼝,包括各种DB应⽤程序语⾔翻译处理层:对数据库语⾔的各类语句进⾏语法分析、视图转换、授权检查、完整性检查、查询优化等数据存取层:将上层的集合操作转换化为单元组操作,完成数据记录的存取、存取路径维护、并发控制、事务管理和数据库恢复等任务,涉及到数据字典的读与写、⽇志⽂件的读与写、加/解锁数据存储层:负责⽂件的逻辑打开、关闭、读写页、读写缓冲等操作,并完成缓冲区管理、内外存交换和外存管理等任务操作系统DB2、DBMS的进程结构1. ⼀个应⽤进程对应⼀个DBMS核⼼进程2. 单进程多线程结构系统只创建⼀个DBMS进程在该进程中:有常驻的公共服务线程、⽤户线程各个线程能在逻辑上并⾏执⾏,共享DBMS的资源3、DBMS与DBS的结构1. 分时系统环境下的集中式数据库系统结构2. ⽹络环境下的客户/服务器结构(C/S)3. 物理上分布、逻辑上集中的分布式数据库结构4. 三层结构(B/S结构): Browser ---> web 服务器 ---> 数据库服务器4、RDBMS功能的实现技术⼀、必备的⽤户接⼝ --> SQL/⾮过程化数据库语⾔交互式SQL:不能编程,访问为主(DDL、QL、DML、DCL)嵌⼊式SQL:将SQL嵌⼊其它程序设计语⾔中,可处理数据⼆、数据⽬录(数据字典或系统⽬录)有关数据库中数据的定义和描述信息是 ---> 元数据元数据组成的若⼲表 --> 数据⽬录数据⽬录的内容:基表、视图的定义存取路径(索引、散列)⽤于查询优化的统计数据数据⽬录的定义和描述等数据⽬录作⽤、定义⽅法、使⽤范围:数据⽬录对DBMS的运⾏必不可少,DBMS频繁访问数据⽬录本⾝不能⽤SQL语句定义,由系统在初始化⽣成,由DBMS维护DBMS⼀般不允许⽤户对之更新,只允许受控查询数据⽬录中的基表的定义被删除,表中数据不能⽤数据⽬录未定义,任何SQL语句都⽆法执⾏三、查询处理与优化1. 数据库的存储结构数据库的存储介质:多级记录的存储结构⽂件结构与存取路径:堆、散列、索引:动态(B+树)、静态(主索引,次索引)2. 查询优化的途径(可综合运⽤)代数优化:改变基本操作的次序依赖于存取路径的优化:结合存取路径(顺序扫描、索引、簇集)的分析考虑各操作的执⾏策略及选择原则规则优化:仅根据启发式规则,选择执⾏的策略(先做选择、投影,后做连接操作等)代价估算优化四、并发控制1)事务的概念DBMS的最⼩执⾏单位,含有若⼲有序的操作遵守ACID准则:原⼦性、⼀致性、隔离性、持久性结束的⽅式:提交成功/失败或⼈为的故障事务的定义和划分:(a)没有显式定义,则由DBMS按缺省规定⾃动划分事务(b)⽤SQL语句显式控制⼀个事务的开始和终⽌2. 并发的概念并发是不同⽤户(事务)同时访问同⼀数据的事件,是不同事务在时间上的交叉执⾏3)事务并发执⾏可能带来的问题不加控制 --> 三种冲突 -- > 三个问题 -- > 数据不⼀致4)事务管理的任务 --> 保证事务的正常执⾏满⾜ACID准则在系统故障时应满⾜ --> 数据库恢复在单事务执⾏时满⾜在多事务并发执⾏时满⾜ -- > 并发控制5)并发控制的正确性准则调度的冲突可串⾏化(⽬前DBMS普遍采⽤)采⽤锁机制:事务在操作前先对数据对象加锁加锁时必须遵守的规则 -- > 加锁协议(相容矩阵)⼏种有代表性的加锁协议:S锁(共享锁)、X锁(排它锁)、U锁(更新锁)S锁:多个事务可封锁⼀个共享页;任何事务都不能修改该页;通常是该页被读取完毕,S锁⽴即被释放X锁:仅允许⼀个事务封锁此页;其他任何事务必须等到X锁被释放才能对该页进⾏访问;X锁⼀直到事务结束才能被释放U锁:⽤来预定要对此页施加X锁,它允许其他事务读,但不允许再施加U锁或X锁;当被读取的页将要被更新时,则升级为X锁;U锁⼀直到事务结束时才能被释放五、数据库恢复1. 故障的概念起因:DBS 硬件、软件故障现象:出现差错后果:导致系统失效、数据丢失DBS 的措施:增强系统可靠性检查差错,将数据库恢复到某个⼀致状态2. 3种恢复技术仅使⽤后备副本(脱机、增量转储、恢复⽤最近后备副本)使⽤后备副本和⽇志⽂件(运⾏记录)利⽤多个副本六、E-R数据模型与E-R图(概念设计)⽤E-R数据模型对现实世界抽象的结果⽤E-R图表⽰三个抽象概念:实体、属性、联系实体(矩形框):客观存在的且可以相互区分的事物实体集:具有相同性质的实体的集合联系(菱形框):实体集之间的相互关系(抽象表⽰)联系的元数:与⼀个联系有关的实体集的个数联系的类型:1:1、1:n、m:n属性(椭圆):实体或联系所具有的特征实体键(下画线):能够唯⼀标识实体集中某⼀实体的属性或属性组七、逻辑设计任务:将概念结构转换为某个具体的DBMS所⽀持的逻辑结构形成合理的全局逻辑结构(基表),并设计出外模式(视图)对逻辑结构进⾏适当的调整和优化,使之在功能、完整性约束、可扩充性上满⾜⽤户需求主要步骤:概念设计结果 -- > 初始关系模式(E-R图转换成关系模式)1. 实体集实体集 -- > 关系模式实体属性 -- > 关系模式的属性 -- > 修改RDBMS不⽀持的类型实体键 -- > 关系模式的键2. 联系m : n 的联系集 -- > ⽤联系集的属性和两个实体集的键单独构成⼀个关系、新关系的键由两个实体集的键组合⽽成、每个实体键是⼀个外键1 :n 的联系集 -- > 联系集的属性归⼊ n ⽅关系模式中,并引⽤ 1 ⽅关系中的键,形成外键1 : 1 的联系集 -- > 联系集的属性归⼊两个关系模式的任⼀个之中,并引⼊另⼀个关系的键,形成外键多元联系集 -- > 联系集的属性与各关系模式的键构成新关系3. 将具有相同实体键的关系模式合并为⼀个关系模式实例:基于 E-R 图做逻辑设计,写出关系模式(单下划线表⽰主键,波浪线表⽰外键(此处⽤斜体表⽰,别问,问就是不知道咋表⽰波浪线))两个实体对应两个模式,M : N联系对应⼀个模式读者(借书证号,姓名,单位,职称)图书(图书编号,分类号,书名,作者,出版单位,单价)借阅(借书证号,图书编号,借阅⽇期)⼋、函数依赖和关系模式的规范化函数依赖1. 属性之间的约束关系 --> 数据依赖 --> 函数依赖--> 多值依赖-- > 连接依赖2. 函数依赖 -- > ⼀个或⼀组属性的值可以决定其它属性的值,是最基本的数据依赖3. 函数依赖的形式化定义(X -> Y,表⽰ Y 函数依赖于 X)4. 函数依赖成⽴的条件关系的任⼀可能指都满⾜(不仅是当前值)5. 平凡函数依赖与⾮平凡函数依赖⼀个函数依赖 X -> Y 如果满⾜ Y ⊈ X,则为⾮平凡函数依赖,否则称之为平凡函数依赖6. 完全函数依赖与部分函数依赖若 Y 函数依赖于 X,但不依赖于 X 的任何⼦句 X',则称 Y 完全函数依赖于 X,否则称 Y 部分函数依赖于 X7. 传递函数依赖若关系的三个属性⼦集 X、Y、Z 之间有:X -> Y,Y⇏X,Y->Z则称 Z 传递函数依赖于 X8. 逻辑蕴涵对⼀个关系模式存在的多个函数依赖,可以通过推理,从⼀组已知的函数依赖导出另⼀组函数依赖,两个函数依赖集之间的这种关系称为逻辑蕴涵9. 闭包所有被⼀个已知函数依赖集 F 逻辑蕴涵的那些函数依赖的集合为 F 的闭包10. Armstrong 公理⾃反律扩展律传递律候选键求属性集闭包算法可⽤于推导候选键定义:在关系模式R(U,F)中,若 X ⊆ U,Y ⊆ X, 且满⾜ X -> U, Y⇏U则称 X 为 R 的候选键⽅法:若属性 A 仅出现在所有函数依赖的右部则它⼀定不包含在任何候选键中若属性 A 仅出现在所有函数依赖的左部则它⼀定包含在某个候选键中若属性 A 既出现在函数依赖的右部,⼜出现在左部,则它可能包含在候选键中在上述基础上求属性集闭包未出现函数依赖集中的属性⼀定是主属性关系模式的规范化1. 规范化 -- 使关系模式满⾜某种条件2. 范式NF(Normal Form) -- 关系模式满⾜的条件3. 有多级范式,级别越⾼,条件越严格(共5级,1NF、2NF、3NF(BCNF) -- 模式设计、4NF、5NF -- 理论研究)第⼀范式(1NF)属性都是原⼦的关系模式满⾜第⼀范式可记为 R ∈ 1NF(通常⾃动满⾜)第⼆范式(2NF)如果关系模式 R ∈ 1NF,且它的任⼀⾮主属性都完全函数依赖于任⼀候选键,则称 R 满⾜第⼆范式记为 R ∈ 2NF第三范式(3NF)如果关系模式 R ∈ 2NF,且每⼀个⾮主属性不传递依赖于任⼀键-> 各⾮主属性既不部分依赖也不传递依赖于键,记为 R ∈ 3NFBCNF(Boyce-Codd范式)-- 改进的3NF如果关系模式的所有⾮平凡函数依赖的决定⼦都含有键,记为 R ∈ BCNF满⾜ BCNF 的关系可避免更新异常和数据冗余若 R ∈ BCNF,则 R ∈ 3NF4. 关系模式的分解模式分解分解⽬的:使关系达到某级范式。
*****数据库应用系统设计说明书一、系统平台:应用程序开发环境:VB (如果会其他语言也可以)数据库:SQL Server 2000二、系统简介:对你开发的系统做简单介绍。
三、系统功能:(1)信息查询(2)信息录入(3)信息修改(包括更新记录、删除记录、插入新记录)四、SQL Server数据库设计1、需求分析要求全面描述系统的信息要求和处理要求2、数据库的概念设计、逻辑设计要求画出系统的实体-联系图(E-R图)3、数据库和数据表的创建将E-R转化成关系模式,并对关系模式进行规范化的方法–描述系统需要的基本表及属性–说明基本表的关键字、外关键字及被参照关系–说明基本表中数据的约束条件–图示各基本表间的关系五、应用程序开发1、信息查询界面图对界面图上的功能做简短介绍。
2、信息录入界面图和删除界面对界面图上的功能做简短介绍。
3、信息修改界面图对界面图上的功能做简短介绍。
六、数据库连接方法1、在VB中采用何种方式进行数据库连接?2、简要描述连接的步骤。
注:1、需要提交的内容(1) VB部分提交工程文件夹;(2) SQL Server部分提交 *.MDF数据文件和 *.LOG文件。
将这两个文件放在一个文件夹里;(3)程序设计说明书。
2、提交时每位同学一个文件夹,文件夹的命名方式为:学号_姓名。
3、将作业提交至database_ustb_ies@ 信箱,发邮件时请按照如下格式填写邮件的主题:班级_学号_姓名。
4、要求独立完成作业。
对于雷同版本,该作业分数按不及格处理。
《MySQL数据库应用》课程教学大纲一、课程名称及代码课程名称:MySQL数据库应用课程代码:XXXXXX二、适用教育层次及专业教育层次:高职专科适用专业:XXXX专业三、学分、学时学分数:4 学时数:64四、课程类型课程性质:专业基础课课程类别:理论+ 实践课五、先修课程名称及代码一门编程类课程(任何语言,如C++、Java或Python等)六、教学目标本课程的任务是使学生掌握关系数据库的基本原理和基础知识,能够正确使用MySQL开发环境创建和使用数据库,掌握数据结构设计、创建数据库和表、操纵数据和查询数据的技术,学会使用SQL语言编写视图、存储过程、存储函数、触发器等数据库对象,学会数据库安全管理和备份与恢复的方法,为提高学生专业素质和为继续学习,从事专业实践工作打下良好基础。
1.知识目标(1) 掌握关系数据库理论、数据库建模、数据结构设计技术。
(2) 掌握结构化查询语言SQL、查询优化、视图、索引、SQL编程等。
(3) 了解事务和并发控制原理。
(4) 掌握数据库备份和恢复技术。
(5) 掌握数据库安全和运维技术。
2.能力目标(1) 具有进行小型数据库项目的需求分析能力。
(2) 具有进行小型数据库项目的设计开发能力。
(3) 具有使用SQL语言进行数据定义、操纵、查询和编程的能力。
(4) 具有基本的数据库运维管理能力。
3.素质目标(1) 具有自学能力和探索精神、拥有求知欲望和学习兴趣(2) 具有分析问题、解决问题的能力。
(3) 具有建立实验假设、探索查阅知识的能力。
(4) 能够运用系统性思维分析和解决问题。
(5) 具有良好的变通能力、一定的创造性思维和批判性思维。
(6) 能负责地完成任务,具有严格的时间观念以及时间管理意识。
(7) 能了解本专业职业成长过程,并能做好个人的职业规划。
(8) 遵纪守法,爱岗敬业,具有良好的职业道德和职业形象。
七、教学内容及要求单元一了解数据库1.教学基本要求1)了解MySQL数据库管理系统,及其与其他数据库管理系统的区别。
Oracle数据库基础教程参考答案第1章Oracle数据库概述1.简答题(1)数据是描述事物的符号,是数据库中存储的基本对象。
在计算机中,用记录的形式来描述数据。
数据与数据的解释即数据的语义是紧密结合的。
数据库是指按一定的数据模型组织、描述和存储的数据的集合。
数据库管理系统是位于操作系统与用户之间的一层数据管理软件。
数据库系统是指数据库、数据库管理系统与计算机系统的结合。
通常,在不引起混淆的情况下将数据库系统简称为数据库。
(2)数据库管理系统的主要功能包括:数据定义、数据操纵、数据库运行与控制、数据库建立与维护、数据字典定义以及数据通信等。
数据库管理系统的内部分多个层次,由应用层、语言定义及其翻译处理层、数据存取层、数据存储层、操作系统以及数据库组成。
(3)数据库系统由数据库、操作系统、数据库管理系统、开发工具、应用系统、数据库管理员以及数据库用户组成。
(4)概念模型是用简单、清晰、用户易于理解的概念来描述现实世界具体事物及事物之间的关系。
它是现实世界到信息世界的抽象,是数据库设计人员进行数据库设计的工具,与具体的数据库管理系统无关。
组织数据模型是从数据组织方式的角度来描述信息,它决定了数据在数据库中的组织结构。
(5)E-R图由3个要素组成:实体、联系与属性。
实体之间的联系有1:1、1:n、n:n三种类型。
(6)Oracle之所以得到广大用户的青睐,其主要原因在于:支持多用户、大事务量的事务处理、提供标准操作接口、实施安全性控制和完整性控制、支持分布式数据处理、具有可移值性、可兼容性和可连接性。
(7)目前市场上常见的关系数据库管理系统包括Oracle、DB2、Sybase和SQL Server等。
Oracle是当今最大的数据库厂商Oracle公司的数据库产品。
它是世界上第一个商品化的关系型数据库管理系统,也是第一个推出与数据库结合的第四代语言开发工具的数据库产品。
DB2是IBM公司于1983年推出的一个商业化关系数据库管理系统,它是基于System R 基础上实现的。
学号:姓名:EMAIL: 学院:专业:《数据库应用实践》实验一:数据库管理系统及其应用开发环境的创建使用实验目的:了解数据库应用开发环境的建立与使用;掌握SQL 语言的使用;通过实践理解关系数据模型的相关概念;掌握数据库应用开发环境的使用;掌握创建、删除数据库的方法;掌握创建基本表、查看表属性、修改属性的方法;掌握向表中添加、删除以及修改数据的方法;掌握查询分析器的使用方法;掌握SELECT 语句在单表查询中的应用;掌握复杂查询、多表查询的方法;掌握视图的使用方法;巩固数据库的基础知识。
实验环境:操作系统: windows 8.1 64 bits数据库管理系统:Microsoft SQL Server 2008实验内容:1.应用背景及设计的数据库名。
a)应用背景:学生选课管理系统,一门课可以由多个老师教授,一个老师可以教多门课程,一个学生可以选修多门课程,一门可以有多个学生选修b)数据库名:mrsunday2. 所设计的各张表结构说明,各表之间关系图说明。
表结构说明:创建4张表,Student表存储学生信息,Teacher表存储教师信息,Course 表存储课程信息,SC表存储学生选课信息及选课成绩。
数据库各表之间关系图说明:3. 依据前面实验一实验内容(2),(3)的要求,写出实现相应操作的SQL 语句并给出运行结果的截图。
(2) 以下内容使用SQL 语句完成:1、设计一个应用场景,创建符合该应用需求的应用数据库。
代码:create database mrsudnay;截图:2、在该数据库中创建至少4 个相互关联的基本表,并设置主键、外键、自定义完整性约束(非空、唯一、默认值、check)。
代码:1)Student 表create table Student(Sno char(20)primary key,Sname char(20)not NULL,Ssex char(2)default'男',Sage smallint not NULL check(Sage between 0 and 90),Sdept char(20)not NULL );2)Teacher表create table Teacher (Tno char(10)primary key,Tname char(20)not NULL,Tsex char(2)default'男',Tage smallint not NULL check(Tage between 20 and 60),Sdept char(20)not NULL);3)Course表create table Course (Cno char(5)primary key,Cname char(20)not NULL,Cpno char(5)NULL,-- Cpno是先修课Ccredit smallint not NULL,foreign key (Cpno)references Course(Cno) );4)SC 表create table SC (Sno char(20),Cno char(5),Tno char(10),Grade smallint check(Grade between 0 and 100),primary key (Sno,Cno,Tno),foreign key (Sno)references Student(Sno),foreign key (Cno)references Course(Cno),foreign key (Tno)references Teacher(Tno) );截图:3、维护基本表的结构。
1)在Student表Ssex列增加完整性约束代码:alter table Student add constraint Ssex_ID check(Ssex in('男','女'));修改前为:修改后为:4、创建并查看索引对象。
代码:create unique index SCno on SC(Sno ASC,Cno ASC,Tno DESC);截图:5、向表中录入若干数据,并维护表中数据。
1) Student表insert into Student values('031302428','mrsunday','男',19,'CS');insert into Student values('031302427','XJ','男', 20,'CS');insert into Student values('031302429','ahaha','男', 20,'CS');insert into Student values('031302426','qdl','男', 21,'CS');2) Teacher表insert into Teacher values('00001','aaa','男','40','CS');insert into Teacher values('00002','bbb','男','41','CS');insert into Teacher values('00003','ccc','男','42','CS');3) Course表insert into Course values('001','Chinese',NULL,'2');insert into Course values('002','database',NULL','3');insert into Course values('003','C Language',NULL,'3');insert into Course values('004','data Struct','003','4');4) SC表insert into SC values('031302426','002','00002','89');insert into SC values('031302427','004','00003','78');insert into SC values('031302428','001','00001','70');insert into SC values('031302429','004','00003','97');5) 维护表中数据项:将Teacher表中所有老师的年龄都增加1岁update Teacherset Tage=Tage+ 1;(3)数据库查询,视图使用在创建的表中自行设计实现以下查询:1、单表查询。
1)查询学生姓名为‘mrsunday’学号,姓名,年龄,所属院系select Sno,Ssex,Sage,Sdept from Student where Sname='mrsunday';2)查询全体学生信息select*from Student;2、多表连接查询并排序输出。
1)查询大于19岁的学生及其选修课程的情况,以学号大小降序输出。
select Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Tno,Grade from Student,SCwhere Student.Sno=SC.Sno and Sage> 19order by Sno DESC;2)查询每个学生的学号、姓名、选修课程以及选修成绩。
select Student.Sno,Sname,Cname,Gradefrom Student,SC,Coursewhere Student.Sno=SC.Sno and o=o;3、使用聚集函数的查询。
查询选修004号课程的学生成绩中的最高成绩。
select MAX(Grade) 最高成绩from SCwhere Cno='004';4、分组查询。
查询每门课程的课程编号及其选修人数。
select Cno,COUNT(Sno)选修人数from SCgroup by Cno;5、嵌套查询。
查询与mrsunday同系的所有学生的信息。
select*from Studentwhere Sdept in(select Sdeptfrom Studentwhere Sname='mrsunday');6、创建并查询视图。
1) 创建系为CS的学生视图。
create view CS_Studentasselect Sno,Sname,Ssex,Sagefrom Studentwhere Sdept='CS'with check option;2) 在系为CS的学生视图中查找年龄不小于20的学生学号、姓名、年龄。
select Sno,Sname,Sagefrom CS_Studentwhere Sage>= 20;4.实验小结:(对本次实验有何体会与收获)在这次实验中学会了使用创建数据库,为SQL Server 语言有了一定的了解,其中遇到不少困难,比如安装Microsoft SQL Server 2008 时无法连接本地数据库,在网上看了许多教程才搞好。
查看数据库关系图时,无法直接创建,需要一个授权指令ALTER AUTHORIZATION ON database:: mrsunday TO sa,其后才能创建。
此外创建数据库的时候肯定不可能考虑周全,在表的完整性约束总会有错误或者不合理,开始时不知道怎么搞,从开始的直接删除所有表再重新创建表格到后来可以直接用SQL语句来修改,也算是自己进步的体现。