SQL数据库原理课设

合集下载

数据库原理与应用--教学大纲(完整版)

数据库原理与应用--教学大纲(完整版)

课程名称:数据库原理与应用(SQL Server) 课程代码: 92010001开课系(部): 计算机与通信系制定人:审核人:制定时间: 2020.03《数据库原理与应用(SQL Server)》教学大纲学分: 4 总学时:64 考核方式:考试课程性质:专业基础课课程类别:理论课开课单位:计算机与通信系适用专业:计算机应用技术专业一、教学目标《数据库原理与应用(SQL Server)》是计算机各专业的必修课。

主要任务是介绍数据库原理的基本知识、SQL Server2005数据库管理与开发的基本技能和实际应用案例。

目的使学生通过该课程的学习,培养数据库管理技能和进行数据库应用系统开发的数据库设计与服务器端程序设计技能。

为进一步学习专业课和为日后的实际工作奠定基础。

二、教学要求1、了解数据库原理的基本知识,重点理解数据库的三要素、关系运算、完整性约束;2、使用企业管理器(SSMS)技能:熟练掌握使用企业管理器创建、查看、修改和删除数据库、数据表(包括完整性约束定义)、查询、视图、存储过程、触发器和自定义函数;熟练掌握使用企业管理器插入、修改和删除数据表和视图数据;熟练掌握使用企业管理器进行数据库备份还原、附加分离;理解数据库访问安全性机制,掌握使用企业管理器进行数据库访问安全性设置:登录账户、数据库用户、角色、权限设置;了解数据库索引技术,初步掌握使用企业管理器创建、维护索引技能,了解索引优化和全文索引技术。

3、使用查询分析器和T-SQL编程技能:熟练掌握T-SQL编程基础:数据类型、常量、变量、常用函数、表达式、流控制语句;熟练掌握使用T-SQL语句创建和删除数据库、数据表(特别是完整性约束定义)、视图、存储过程、触发器和自定义函数;熟练掌握使用T-SQL语句查询、插入、修改和删除数据表和视图数据,特别是查询技术;掌握使用T-SQL语句进行游标设计、事务设计;了解T-SQL存储过程进行数据库访问安全性设置:登录账户、数据库用户、角色、权限设置;了解使用T-SQL语句修改数据库、数据表(包括完整性约束定义);了解用T-SQL语句进行数据库备份还原、导入导出。

数据库原理课程设计实验指导书(通用)

数据库原理课程设计实验指导书(通用)

数据库原理课程设计实验指导书(通⽤)《数据库原理课程设计》实验指导书实验名称:数据库原理课程设计实验类型: 综合性实验学时:⼀周适⽤对象: 计算机科学与技术⼀、实验⽬的这门课是为计算机科学与技术专业的学⽣在学习数据库原理B后,为培养更好的解决问题和实际动⼿能⼒⽽设置的实践环节。

通过这个环节,使学⽣拥有能够应⽤数据库原理对数据库系统进⾏设计的能⼒。

为后继课程和毕业设计打下良好基础。

⼆、实验要求设计⼀个基于数据库的综合数据库管理系统,包括后台数据库的设计和前台⽤户终端的设计,具体题⽬四年不重复,要求:1.准备⼯作:在课外安装相关的数据库管理系统软件和开发⼯具软件,并根据参考书熟悉DBMS 的功能、结构,为后期综合实验打好基础。

2.概念模型的设计:根据题⽬要求,列出实体集,并应⽤E-R图描述实体的属性和实体之间的联系。

3.逻辑模型的设计:根据已建⽴好的E-R图选⽤关系模型设计关系表,包括设计关系表的属性、主码等,要求关系表中的属性名必须使⽤英⽂,呈现给⽤户的视图时显⽰中⽂。

4.完整性设计:包括实体完整性、参照完整性和⽤户⾃定义完整性的设计;⽐如年龄的范围、考试成绩的范围、职务的范围等。

并设计多表间的联系,⽐如学⽣表和成绩表,要求根据E-R图的设计设计关系表的外码,并举例说明。

5.规范化设计:使⽤范式理论证明你所设计的关系⾄少属于3NF,写出证明过程;否则进⾏模式分解,直到该关系满⾜三范式,并写出分解过程;6.SQL语⾔的考察:使⽤DBMS所⽀持的SQL语⾔完成关系表的建⽴,数据的插⼊、修改和更新等功能,着种考查关系表的查询(单表查询、多表查询和组合查询等,跟关系代数⼀起考查);7.图形化⽤户界⾯的设计:完成题⽬所要求的各种功能,并⽤菜单或者⼯具栏的形式组织各种功能(如数据的录⼊、查询、更新维护等);8.权限管理的设计:所设计的系统应该有⼀定的权限管理,不同的⽤户登陆完成功能是不⼀样的,对数据表的权限也不同。

sql课程设计项目

sql课程设计项目

sql课程设计项目一、教学目标本课程旨在通过学习SQL语言,使学生掌握数据库的基本操作,能够使用SQL 语言进行数据的查询、更新、删除和插入操作,培养学生解决实际问题的能力。

具体的教学目标如下:1.理解数据库的基本概念和原理。

2.掌握SQL语言的基本语法和操作。

3.了解数据库的设计和优化方法。

4.能够使用SQL语言进行数据的查询、更新、删除和插入操作。

5.能够设计和优化数据库的结构。

6.能够解决实际问题,应用SQL语言进行数据库操作。

情感态度价值观目标:1.培养学生的团队合作意识和沟通能力。

2.培养学生的创新思维和解决问题的能力。

3.培养学生的自主学习和持续学习的意识。

二、教学内容本课程的教学内容主要包括SQL语言的基本概念、语法和操作。

具体的教学大纲如下:1.数据库的基本概念和原理:介绍数据库的定义、特点和应用场景,理解数据库管理系统的作用和功能。

2.SQL语言的基本语法:学习SQL语言的基本语法结构,包括数据类型、运算符、条件表达式等。

3.数据的查询操作:学习使用SELECT语句进行数据的查询,掌握常用的查询条件和排序方法。

4.数据的更新操作:学习使用UPDATE语句进行数据的更新,掌握更新条件和更新规则。

5.数据的删除操作:学习使用DELETE语句进行数据的删除,掌握删除条件和删除规则。

6.数据的插入操作:学习使用INSERT语句进行数据的插入,掌握插入数据的方法和规则。

7.数据库的设计和优化:学习数据库的设计原则和方法,掌握数据库的优化技巧和策略。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:通过讲解和演示,使学生掌握SQL语言的基本概念和语法。

2.案例分析法:通过分析和解决实际案例,培养学生的数据库设计和优化能力。

3.实验法:通过上机实验,使学生熟悉SQL语言的操作和应用。

4.小组讨论法:通过小组讨论和合作,培养学生的团队合作意识和沟通能力。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

《数据库原理》课程设计

《数据库原理》课程设计

《数据库原理》课程设计一、课程设计的性质、目的和意义《数据库原理》课程设计是实践性教学环节之一,是《数据库系统原理》课程的辅助教学过程,是计算机科学与技术专业的必修课。

通过课程设计,结合实际的操作和设计,巩固课堂教学内容,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学内容综合为一,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力,从而为后续课程的学习,毕业设计环节以及将来的实际工作打好坚实的基础。

二、课程设计的具体内容数据库系统原理的课程设计要求学生综合利用本课程的有关知识,在教师的指导下,利用特定的数据库设计环境,针对具体的问题,完成从系统的需求分析、数据库的概念设计、数据库的逻辑设计,到数据库实现等设计过程,最终实现一个较为完整的反映应用需求的数据库系统。

因此,在设计中,要求学生应该全面考虑各个设计环节以及它们之间的相互联系。

下面是各个设计阶段的具体内容。

1.系统需求分析需求分析是数据库系统设计的一个重要的环节。

本阶段应该对整个应用情况作全面的、详细的调查,确定特定数据库应用环境下的设计目标,收集该应用环境下针对系统设计所需要的基础数据以及对这些数据的具体存储要求,从而确定用户的需求。

用户对数据库的需求包括:⑴处理需求。

即用户要完成什么处理功能等。

学生在设计中应根据具体的课题要求确定系统应该实现的功能,一些基本的功能通常是必须具备的,如用户的管理与维护,基本数据的维护,灵活的信息查询等。

⑵信息需求。

即在数据库中需要存储哪些数据。

学生应该根据具体的课题,认真分析有关的要求,确定本设计的信息需求。

⑶安全性和完整性功能。

实践中这是一个需要与用户不断交流才能逐步确定的需求。

本课程设计要求学生在自己的设计中能反映出基本的安全性和完整性功能。

本阶段的设计结果(即系统需求分析)应该在课程设计报告中进行详细描述,画出系统的数据流图,写出较为详细的数据字典,作为本课程设计的验收依据之一。

宿舍管理系统sql课程设计

宿舍管理系统sql课程设计

宿舍管理系统sql课程设计一、课程目标知识目标:1. 让学生掌握SQL语言的基本语法和常用命令,如SELECT、INSERT、UPDATE、DELETE等。

2. 使学生理解数据库的基本概念,包括表、字段、记录等,并了解宿舍管理系统的数据结构。

3. 帮助学生掌握数据库查询技巧,能够运用SQL语句实现复杂的数据查询。

技能目标:1. 培养学生运用SQL语言进行数据库操作的能力,能够独立完成宿舍管理系统的数据插入、修改、删除等操作。

2. 提高学生分析问题和解决问题的能力,能够根据实际需求编写合适的SQL 查询语句。

3. 培养学生的团队协作能力,分组完成课程设计任务,进行有效的沟通与协作。

情感态度价值观目标:1. 培养学生对数据库技术的兴趣,激发学生学习编程的热情,提高计算机素养。

2. 培养学生认真负责的态度,对待课程设计和实际操作,养成良好的编程习惯。

3. 引导学生关注实际生活中的问题,将所学知识应用于解决现实问题,增强学生的实践能力。

分析课程性质、学生特点和教学要求:本课程设计以宿舍管理系统为背景,结合SQL语言进行数据库操作。

课程性质为实践性较强的学科,要求学生具备一定的编程基础。

针对学生特点,本课程设计注重培养学生的学习兴趣和动手能力,同时要求学生具备团队协作精神。

教学要求强调理论与实践相结合,注重培养学生的实际操作能力。

通过分解课程目标为具体学习成果,使学生在完成课程设计的过程中,掌握相关知识和技能。

二、教学内容1. SQL语言基础:- 数据库基本概念:表、字段、记录;- SQL语法结构:SELECT、FROM、WHERE、GROUP BY、ORDER BY等;- 常用SQL命令:SELECT、INSERT、UPDATE、DELETE。

2. 宿舍管理系统数据库设计:- 实体关系模型:学生、宿舍、床位等实体及其关系;- 数据表设计:创建表、定义字段类型、设置主键和外键。

3. SQL查询语句:- 单表查询:简单查询、条件查询、排序查询;- 连接查询:内连接、外连接、自连接;- 聚合查询:COUNT、SUM、AVG、MAX、MIN等。

《数据库原理及应用》教学课件 第三章SQL基础

《数据库原理及应用》教学课件 第三章SQL基础
数据库原理及应用
第三章 SQL基础
本章导读
结构化查询语言(Structured Query Language,SQL) 是关系数据库的标准语言,是集数据查询、数据操纵、数 据定义与数据控制于一体的综合性语言。在关系数据库 中,可以通过它完成数据库内的所有操作。本章首先介绍 SQL的发展及特点,然后通过实例介绍数据库和数据表的 基本操作。
④ MODIFY FILE:指定要修改的文 件。
⑤ ADD FILEGROUP:向数据库中 添加文件组。
⑥ REMOVE FILEGROUP:从数据 库中删除文件组。若文件组不为空,则 无法删除。
⑦ “[ , … N]”表示在前一语句后可 接N个同格式语句。
⑧ “|”表示用其隔开的语句在一次 命令中不可同时选用。
20
3.2 数据库基本操作
3.2.4 修改数据库
【例3-2】 将数据库 test 的名称改为 test1。 ALTER DATABASE test MODIFY NAME=test1
【例3-3】 将数据库SRS的日志文件最大容量改为100 MB。
ALTER DATABASE SRS MODIFY FILE (NAME=SRS_Data, MAXSIZE=100MB)
系列 1, 锐系普列PP2T, 锐, 2普.8 PPT, 2.8
日志文件由一系列日志记录组成,它 记录了数据库的更新情况和用户对数据库 的修改操作等。
当数据库发生损坏时,可以通过日志 文件分析出错原因;当数据丢失时,也可 以使用日志文件恢复数据库。

16
3.2 数据库基本操作
3.2.3 创建数据库
02 用SSMS创建数据库
在 SSMS 中可按如下步骤创建数据库。

sqlsever数据库课程设计

sqlsever数据库课程设计

sql sever数据库课程设计内容如下:一、课程目标知识目标:1. 熟练掌握SQL Server数据库的基本概念和原理;2. 学会使用SQL语句进行数据库的增删改查操作;3. 掌握数据库表的设计与关系维护;4. 了解数据库的安全性和事务处理。

技能目标:1. 能够独立安装和配置SQL Server数据库环境;2. 能够运用SQL语句完成常见的数据操作;3. 能够设计简单的数据库表,并进行关系维护;4. 能够对数据库进行简单的安全性和事务处理。

情感态度价值观目标:1. 培养学生对数据库技术的兴趣,提高其学习积极性;2. 培养学生良好的团队协作精神,提高沟通能力;3. 培养学生严谨、细心的学习态度,注重实际操作能力的培养;4. 增强学生的信息安全意识,注重数据保护。

课程性质:本课程为实践性较强的课程,注重学生动手能力的培养。

学生特点:学生具备一定的计算机操作基础,对数据库技术有一定了解,但实践经验不足。

教学要求:结合学生特点,注重理论与实践相结合,强化实践操作,使学生在掌握基本知识的基础上,提高实际操作能力。

在教学过程中,关注学生的情感态度价值观的培养,激发学生的学习兴趣,提高其综合素质。

通过本课程的学习,使学生具备一定的数据库设计与操作能力,为后续相关课程的学习打下坚实基础。

二、教学内容1. SQL Server数据库概述:介绍SQL Server的发展历程、特点和应用场景,使学生了解数据库的基本概念和SQL Server的优势。

- 教材章节:第一章 SQL Server概述2. SQL Server安装与配置:指导学生独立安装和配置SQL Server数据库环境,熟悉SQL Server Management Studio(SSMS)操作界面。

- 教材章节:第二章 SQL Server安装与配置3. SQL语句基础:讲解SQL语句的基本语法,包括SELECT、INSERT、UPDATE和DELETE等操作,使学生掌握数据库的增删改查操作。

《Sql Server数据库原理与应用》教学大纲(2022版)

《Sql Server数据库原理与应用》教学大纲(2022版)

《Sql Server数据库原理与应用》教学大纲英文名称:Principles and Application of Database课程代码:课程类别:专业选修课课程性质:选修开课学期:大四第一学期总学时:36(讲课:18,实训18)总学分:2考核方式:平时考勤、作业、课堂表现、期末大作业先修课程:《大学计算机基础》《Python语言与数据分析》适用专业:一、课程简介本课程以功能强大的关系数据库管理系统MySQL作为平台,全面系统地介绍SQL Server 的管理操作和应用开发,将基础知识和实际应用有机结合起来,主要内容有数据库系统概论、MySQL安装和操作、创建数据库和创建表、表数据操作、数据查询、视图和索引、数据完整性、T-SQL程序设计、存储过程、触发器、系统安全管理、备份和恢复、事务和锁定。

本课程主要通过理论授课加实训的方式完成教学,理论授课24学时,实训12学时。

考核方式由平时考勤、实训作业、课堂表现和期末大作业构成。

二、课程目标及其对毕业要求的支撑通过本课程的学习,学生将对数据库技术的基本概念、原理、方法和技术有较深刻的理解,掌握SQL语言查询和编程的基本技术,掌握数据库系统安装、配置、管理和维护的基本技能,具备管理和开发简单数据库应用系统的能力,提高学生分析和解决实际问题的能力,为将来从事相关工作打下基础。

三、课程教学要求第一章数据库概述教学内容:第一节数据库系统1.数据与信息2.数据存储单元—服务器3.数据库系统的构成4.数据库系统的特点第二节数据库类型1.数据库模型2.关系型数据库3.非关系型数据库第三节关系型数据库MySQL1.为什么使用MySQL2.MySQL的发展简史3.MySQL的版本分类与发展4.企业如何选择MySQL版本第四节本章小结学生学习预期成果:1.了解与数据库相关的基本概念2.掌握常见的数据库类型及各自的特点3.理解MySQL的工作原理教学重点:1.数据库类型2.关系型数据库MySQL教学难点:1.数据库类型2.关系型数据库MySQL第二章环境的安装与基本配置教学内容:第一节虚拟化平台1.系统虚拟化2.搭建实验平台3.虚拟平台的基本使用第二节CentOS系统的部署1.CentOS系统2.系统下载3.最小化安装CentOs第三节MySQL的安装与配置1.MySQL安装方式2.Yum方式安装3.源码编译方式安装4.初始化数据库第四节本章小结学生学习预期成果:1.熟练掌握Linux操作系统环境下MySQL的安装与基本配置方法2.掌握VMware Workstation中搭建虚拟化环境的方法3.了解MySQL的配置参数4.熟悉MySQL安装过程中的报错和相应解决方法教学重点:1.CentOS系统的部署2.MySQL的安装与配置教学难点:1.CentOS系统的部署2.MySQL的安装与配置;第三章MySQL数据操作教学内容:第一节SQL语句1.SQL简介2.SQL分类第二节数据类型1.数值类型2.字符串类型3.日期和时间类型第三节存储引擎1.MySQL的存储引擎2.常用引擎MyISAM和InnoDB的区别3.存储引擎的选择第四节库与表的基础操作1.库操作2.表操作第五节表的高级操作1.数据的插入2.修改数据表3.删除表内容4.更新数据第六节本章小结学生学习预期成果:1.了解SQL语句的基本分类2.掌握使用结构化查询语句进行数据操作的方法3.掌握数据库不同存储引擎的差异4.掌握常见的数值类型并学会合理运用教学重点:1.数据类型2.存储引擎3.库与表对的基本操作4.表的高级操作教学难点:1.数据类型2.存储引擎3.库与表对的基本操作4.表的高级操作第四章数据库表单查询教学内容:第一节基础查询1.创建基本的数据表环境2.查询所有字段3.查询指定字段第二节条件查询1.关系运算符2.多条件查询第三节高级查询1.排序查询2.聚合函数3.分组查询4.HAVING字句5.LIMIT分页第四节本章小结学生学习期望成果:1.掌握使用SQL语句进行基础查询的方法2.掌握SQL语句中不同条件的表达方法3.熟练使用高级的查询方式对数据进行查询分析教学重点:1.基础查询2.条件查询3.高级查询教学难点:1.基础查询2.条件查询3.高级查询;第五章数据的完整性教学内容:第一节实体完整性1.主键与主键约束2.唯一约束3.自动增长列第二节域完整性1.非空约束2.默认值约束第三节引用完整性1.外键与外键约束2.删除外键约束第四节索引1.普通索引2.唯一索引3.索引过多引发的问题第五节本章小结学生学习期望成果:1.了解数据对的约束原则2.掌握主键、外键约束的用法3.掌握索引的实际应用方法4.掌握常见的约束原则教学重点:1.域完整性2.引用完整性3.索引教学难点:1.域完整性2.引用完整性3.索引第六章数据库多表查询教学内容:第一节表与表之间的关系1.一对一关系2.一对多关系3.多对一关系4.多对多关系第二节多表查询1.合并结果集2.关于笛卡尔积3.内连接4.外连接5.自然连接6.嵌套查询第三节本章小结学生学习期望成果:1.了解数据表之间的关系2.掌握多表数据的查询方法3.理解多表查询中的连接规则和笛卡儿积4.熟悉数据表之间的嵌套查询教学重点:1.表与表之间的关系2.多表查询教学难点:1.表与表之间的关系2.多表查询第七章权限与账户管理教学内容:第一节权限表第二节账户管理1.登录和退出数据库2.创建和删除用户3.修改账户密码4.删除与修改用户名第三节权限管理1.MySQL的权限2.授予权限3.查看权限4.收回权限第四节本章小结学生学习期望成果:1.了解什么是权限表2.掌握数据库用户权限的设置方法3.熟悉数据库配置文件的基本设置4.掌握MySQL访问控制的方法教学重点:1.权限表2.账户管理3.权限管理教学难点:1.权限表2.账户管理3.权限管理第八章存储过程与触发器教学内容:第一节存储过程1.存储过程概述2.存储过程优缺点3.创建存储过程4.查看存储过程5.删除存储过程第二节触发器1.触发器概述2.创建触发器3.查看触发器4.删除触发器第三节本章小结学生学习期望成果:1.了解什么是存储过程2.掌握存储过程的相关操作方法3.熟悉触发器的基本概念4.掌握触发器的使用方法和应用场景教学重点:1.存储过程2.触发器教学难点:1.存储过程2.触发器第九章数据库事务和锁机制教学内容:第一节事务管理1.事务的概念2.事务的创建和回滚3.并发与并行4.事件的ACID特性5.事件的隔离级别6.隔离级别的选取第二节锁机制1.MySQL锁定机制简介2.InnoDB锁类型3.锁监控与优化第三节本章小结学生学习期望成果:1.理解事务的基本概念2.熟悉事务的四个特性3.掌握事务的相关操作方法和隔离级别4.掌握锁机制的原理和使用方法教学重点:1.事务管理2.锁机制教学难点:1.事务管理2.锁机制第十章 MySQL数据备份教学内容:第一节数据备份概述1.数据备份原则2.备份类型的划分第二节物理备份1.Tar打包备份2.LVM快照备份3.Xtrabackup备份第三节逻辑备份第四节本章小结学生学习期望成果:1.了解什么是数据库备份2.掌握数据库备份和恢复的方法3.掌握数据迁移的操作流程4.掌握数据库的导入和导出方法教学重点:1.物理备份2.逻辑备份教学难点:1.物理备份2.逻辑备份第十一章日志管理教学内容:第一节日志的分类1.错误日志2.二进制日志3.慢查询日志4.中继日志5.Redo日志和Undo日志6.查询日志第二节日志应用第三节本章小结学生学习期望成果:1.了解数据库中常见的日志种类2.掌握二进制日志的操作方法3.掌握错误日志的操作方法4.熟悉慢查询等其他日志应用教学重点:1.日志分类2.日志应用教学难点:1.日志分类2.日志应用第十二章主从复制教学内容:第一节主从复制原理1.复制过程2.基本架构3.复制模式第二节一主一从复制1.基于位点的主从复制2.基于GRID的主从复制第三节多主从复制1.双主双从搭建流程2.关于keepalived第四节复制延迟与死机处理第五节本章小结学生学习期望成果:1.了解MySQL主从复制的原理2.掌握配置一主一从集群的基本流程3.掌握向集群添加从服务器的方法4.熟悉多主多从集群的配置参数和配置流程教学重点:1.一主一从复制2.多主多从复制3.复制延迟与死机处理教学难点:1.一主一从复制2.多主多从复制3.复制延迟与死机处理第十三章 MySQL读写分离教学内容:第一节数据库代理1.基本原理2.常见的数据库中间件第二节Mycat实现读写分离1.基本环境2.配置流程第三节本章小结学生学习期望成果:1.掌握数据库代理的基本原理2.熟悉企业中常用的数据库中间件3.掌握Mycat实现读写分离的配置流程4.掌握读写分离配置中使用到的关键参数教学重点:1.数据库代理2.Mycat实现读写分离教学难点:1.数据库代理2.Mycat实现读写分离四、建议教学安排五、课程成绩评定基本考核方法:通过考勤、作业、课堂表现等评定学生平时成绩(占50%),通过期末大作业评定学生理论成绩(期末大作业占50%)情况综合评价学生成绩。

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

数据库原理课程设计学号:姓名:班级:2018年6月22 日数据库原理课程实验内容与要求理解SQL定义功能;熟练掌握SQL操纵功能;了解SQL数据控制功能。

熟练掌握Oracle、SQL Server、MySQL、DB2、Sybase或PostgreSQL等对数据库的管理和操作。

熟练掌握Visual C++(MFC)、C#、Qt、Java、PHP或Python等访问数据库的方法,编写学生通讯录或学生选课或其他类似的一个小型管理信息系统。

实验一:SQL定义功能、数据插入 1学时1.建立教学数据库的三个基本表:S(Sno,Sname,Ssex,Sage,Sdept) 学生(学号,姓名,性别,年龄,系)SC(Sno,Cno,Grade) 选课(学号,课程号,成绩)C(Cno,Cname,Cpno,Ccredit) 课程(课程号,课程名,先行课,学分)2.DROP TABLE、ALTER TABLE、CREATE INDEX、DROP INDEX 及INSERT语句输入数据。

表的创建CREATE TABLE S(Sno CHAR(9)PRIMARY KEY,Sname CHAR(20)UNIQUE,Ssex CHAR(2),Sage SMALLINT,Ssdept CHAR(20));CREATE TABLE C(Cno CHAR(4)PRIMARY KEY,Cname CHAR(20)NOT NULL,Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY(Cpno)REFERENCES C(Cno));CREATE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno)REFERENCES S(Sno));INSERT INTO SVALUES('200215121','李勇','男',20,'CS'); INSERT INTO SVALUES('200215122','刘晨','女',19,'CS'); INSERT INTO SVALUES('20204','王敏','女',18,'MA'); INSERT INTO SVALUES('30203','张立','男',20,'IS');INSERT INTO SCVALUES('200215121',1,92);INSERT INTO SCVALUES('200215121',2,85); INSERT INTO SCVALUES('200215121',3,88); INSERT INTO SCVALUES('200215122',2,90); INSERT INTO SCVALUES('200215122',3,80);INSERT INTO CVALUES(2,'数学',NUll,2); INSERT INTO CVALUES(6,'数据处理',NUll,2); INSERT INTO CVALUES(7,'PASCAL语言','6',4); INSERT INTO CVALUES(5,'操作系统','7',4); INSERT INTO CVALUES(1,'数据库','5',4); INSERT INTO CVALUES(4,'数据结构','6',3); INSERT INTO CVALUES(3,'信息系统','1',4); 2.输入数据create table Z(Sno char(5),Sage char(2),Sname char(6));insert into Zvalues('30504','20','朱天罡');insert into Zvalues('15121','20','李勇');Alter table Z ADD S_entrance DATE;DROP table Z;CREATE UNIQUE INDEX StuSno ON Z(Sno); DROP INDEX StuSno;实验二:数据查询/***数据查询***/1.查询选修一号课程的学生学号姓名。

SELECT Sno,snameFROM SWHERE EXISTS(SELECT *FROM SCWHERE Sno=S.Sno AND Cno='1');2.查询选修课程名为数据结构的学生学号与姓名SELECT Sno,SnameFROM SWHERE EXISTS(SELECT *FROM SCWHERE Sno=S.Sno AND EXISTS(SELECT *FROM CWHERE Cname='数据结构'));3.查询不选一号课程的学生学号姓名SELECT Sno,SnameFROM SWHERE NOT EXISTS(SELECT *FROM SCWHERE Sno=S.Sno AND Cno='1');SELECT SnameFROM SWHERE NOT EXISTS(SELECT *FROM CWHERE NOT EXISTS(SELECT *FROM SCWHERE Sno=S.Sno AND Cno=o));5.查询所有学生除了选修1号课程外所有成绩均及格的学生的学号和平均成绩,其结果按平均成绩的降序排列。

create view dot(Sno,Cno,Grade)ASselect S.Sno,Cno,Gradefrom S,SCwhere S.Sno=SC.Sno and Cno!='1';select Sno,avg(Grade) averagefrom dotwhere 60<=(select min(Grade)from dot xdotwhere dot.Sno=xdot.Sno)group by Snoorder by average desc;6.查询选修数据库原理成绩第2名的学生姓名select Sno,Snamefrom Swhere Sno in(select Sno from SC where Cno in(select Cno from C where Cname='数据库')and Grade in(select max(Grade) from SC where Grade not in(select max(Grade) from SC where Cno in(select Cno from C where Cname='数据库'))and Cno in(select Cno from C where Cname='数据库')));7.查询所有3个学分课程中有3门以上(含3门)课程获80分以上(含80分)的学生的姓名。

******************************************************************CREATE VIEW xdot (Sno,Cno,Grade)ASSELECT Sno, o,GradeFROM SC,CWHERE Grade>=80 AND Ccredit=3 AND o=o;SELECT SnameFROM SWHERE Sno IN(SELECT SnoFROM xdotGROUP BY SnoHAVING COUNT(*)>=3);8.查询选课门数唯一的学生的学号。

CREATE VIEW Ydot (Sno,Ccount)ASSELECT Sno,COUNT(*)FROM SCGROUP BY Sno;SELECT SnoFROM SCGROUP BY SnoHAVING COUNT(*)<>ALL(SELECT CcountFROM YdotWHERE Ydot.Sno!=SC.Sno);9.SELECT语句中各种查询条件的实验。

实验三:数据修改、删除 1学时1.把1号课程的非空成绩提高10%update SCset Grade=Grade*(1+0.1)where Grade is not NULL and Grade<=100 and Cno='1';2.在SC表中删除课程名为数据结构成绩的元组deletefrom SCwhere Cno in(select Cnofrom Cwhere o=o and Cname='数据库');3.在S和SC表中删除学号为95002的数据deletefrom SCwhere Sno='200215122';deletefrom Swhere Sno='200215122';实验四:视图的操作 1学时建立男学生的视图,属性包括学号姓名学习课程名和1成绩create view gstudent(Sno,Sname,Cname,grade)AsSelect S.Sno,S.Sname,ame,SC.GradeFrom S,C,SCWhere S.Sno=SC.Sno and o=o and S.Ssex='男'在男学生视图中查询平均成绩大于80分的学生学号和姓名select Sno ,Snamefrom Swhere Sno in(select Snofrom gstudentgroup by Snohaving avg(grade)>=80);实验五:库函数,授权控制 1学时计算每个学生的成绩的课程门数、平均成绩select count(*),avg(Grade)from SCwhere grade is not nullgroup by Sno;使用GRANT把基本表S、SC、C使用权限给其它用户GRANT ALL PRIVILEGESON TABLE STO PUBLIC;GRANT ALL PRIVILEGESON TABLE CTO PUBLIC;GRANT ALL PRIVILEGESON TABLE SCTO PUBLIC;实验完成后,撤销DROP TABLE S CASCADE;不能删除parent rowDROP TABLE S CASCADE;DROP TABLE C CASCADE;DROP VIEW gstudent CASCADE;实验六:综合实验:实现一个小型管理信息系统熟练掌握Visual C++、C#、Qt、Java、PHP或Python等访问数据库的方法,设计和实现学生通讯录或学生选课或类似的一个小型管理信息系统。

相关文档
最新文档