【SQL Server】实验八 综合设计

news2024/12/23 23:49:50

1 实验目的

  1. 了解和掌握数据库设计的有关理论和方法。
  2. 可以灵活运用数据库设计方法设计一个中小型规模的数据库。

2  实验内容

2.1 数据库概念模型设计

  1. 进行需求分析。
  2. 设计数据库概念模型,画出E-R图。

2.2 数据库逻辑模型设计

  1. 根据数据库概念模型设计数据库的逻辑模型。
  2. 对逻辑模型进行优化。

2.3 数据库物理模型设计

  1. 针对某种DBMS,设计数据库物理模型,包括表空间、表和索引等于物理存储有关的设计。
  2. 优化物理模型
  3. 生成某种DBMS的SQL语句,创建数据库及其表。

2.4 装载数据

  1. 收集真实数据或者生成模拟数据。
  2. 批量加载数据到数据库中。
  3. 设计一系列SQL语句,尤其是连接查询、嵌套查询等SQL语句,已测试数据库性能。

3 实验要求

  1. 可以借助POWERDESIGNER等系统分析与设计辅助工具进行数据库设计,也可以使用WORD文件直接生成各种设计文档。
  2. 选择的数据库应用系统应该规模适中,不宜太大太复杂,可能做不完;也不宜太小太简单,甚至仅有三两个表组成。
  3. 要设计良好的数据库完整性约束。
  4. 参考附件1的要求进行。

4 实验步骤

4.1 数据库概念模型设计

  1. 进行需求分析。
  2. 设计数据库概念模型,画出E-R图。

4.2  数据库逻辑模型设计

  1. 根据数据库概念模型设计数据库的逻辑模型。
  2. 对逻辑模型进行优化。

学生(学生序号,学生姓名,性别,年龄,系)

课程(课程序号,课程名称,学分)

选课(学生序号,课程序号,成绩)

4.3 数据库物理模型设计

  1. 针对某种DBMS,设计数据库物理模型,包括表空间、表和索引等于物理存储有关的设计。
  2. 优化物理模型
  3. 生成某种DBMS的SQL语句,创建数据库及其表。

4.4  装载数据

  1. 收集真实数据或者生成模拟数据。
  2. 批量加载数据到数据库中。

  1. 设计一系列SQL语句,尤其是连接查询、嵌套查询等SQL语句,已测试数据库性能。

其他

查询王一、王二都学习的课程

查询王一学习了,但张三没学习的课程

5  总结与体会

5.1 实验中出现的问题及其解决方案

1.注意S1与S2的连接 和 and别忘了写

5.2  总结

温习了前几节课学习的内容,加深了印象,巩固了知识的掌握

  1. 附件1

以书3.2节的学生数据库系统为例,进行设计,包括:学生表,课程表,选课表。

要求:

  1. 用数据定义sql语句定义表。表中的属性参考书3.2节。数据类型自定。定义表语句中要有主码、外码、自定义的约束等。性别属性取值{“男”,“女”},年龄取值5~99,成绩取值0~100,专业名称不能重复,姓名不可以取值空,课程名称不可以取值空,课程学分取值1~8。
  2. 用insert语句,往每个表中插入5条以上的数据。
  3. 根据书上介绍的各种查询语句,为每种类型的查询语句实现2条以上的不同种类sql语句。
  4. 根据上上介绍的数据更新语句,分别实现5个不同种类的update语句、5个不同种类的delete操作。
  5. 创建普通用户:“张三”,“李四”。用户“张三”可以查询学生表,可以修改选课表,再没有其他权限。用户“李四”只可以修改课程表。所有用户都不可以再将自己拥有的权限给其他用户的能力。
  6. 创建视图v1,所有男学生的视图。创建视图v2所有成绩及格的学生信息视图。创建视图v3,只能够看到学生的学号、姓名两个属性值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1521001.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第七节:使用SMB发布Web前端程序

一、概述 一直以来,多数人都使用Apache、IIS、Tomcat等开源或商业Web服务器来运行Web程序,各种参数太多,与我们简单易用逻辑相左。所以在架构设计的时候,我们也在考虑,我们公司的Web程序是否能运行在SMB中,…

【AI】用iOS的ML(机器学习)创建自己的AI App

用iOS的ML(机器学习)创建自己的AI App 目录 用iOS的ML(机器学习)创建自己的AI App机器学习如同迭代过程CoreML 的使用方法?软件要求硬件开始吧!!构建管道:设计和训练网络Keras 转 CoreML将模型集成到 Xcode 中结论推荐超级课程: Docker快速入门到精通Kubernetes入门到…

Windows服务器部署多台Redis

适用于Windows服务器部署多台redis,同时将Redis注册成服务设置自动。 文章目录 前言一、上传离线安装包二、解压并启动Redis总结 前言 redis其实并不很好适用于Windows服务器,一般最好的情况下还是建议使用Linux服务器进行部署,当然如果一定…

6、Design Script之列表

Range 在DesignScript中,Range是从起点到终点的一系列数字,使用指定的步距(间距类型),并有以下的初始化方法: start..end..step; start..end..#amount; start..end..~approximate; Range可以是数字的,也可以是字母的。 字母范围因大小写而异。 开始,结束. .#数量范围(…

自学rabbitmq入门到精通

交换机的fault (发布与订阅模式) 因为消息是由生产者发送给excahnge,exchange发送给队列, 然后由队列发送给消费者的。 展示使用图形化界面使用fanout模式。 创建交换机 然后创建三个队列,绑定对应的交换机&#xff…

[vscode]使用cmake时将命令行参数传递给调试目标

一、简介 本文介绍了在vscode中使用cmake工具时,如何传递参数给编译目标的方法。 前提:使用vscodecmake编译C/C程序。 二、方法 在.vscode/目录下新建settings.json文件,并将待传底的参数写在 cmake.debugConfig里。 下面介绍了一个示例&a…

【AIGC调研系列】通义灵码与copilot的对比

通义灵码与GitHub Copilot的对比主要集中在几个方面:代码编写能力、免费性、操作界面和适配性。 首先,在代码编写能力上,虽然GitHub Copilot在整体上要强于通义灵码,但通义灵码的能力也不算弱,并且在某些特定的小类任…

P6安装:安装P6提示1433端口无效

错误描述 尝试运行 Microsoft SQL Server 2005 的 Primavera P6 数据库时,遇到以下错误: SQLServerException: The TCP/IP connection to the host [name], port 1433 has failed. Error: “Connection refused: connect. Verify the connection prope…

Lock4J分布式锁

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 简介 lock4j是一个分布式锁组件,其提供了多种不同的支持以满足不同性能…

非空约束

oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 非空约束 所谓的非空约束,指的是表中的某一个字段的内容不允许为空。如果要使用非空约束,只需要在每个列的后面利用“NOT NULL”声明即可 -- 删除数…

《科学之友》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答:问:《科学之友》是什么级别的期刊呢? 答:省级;主管单位:山西省科学技术协会;主办单位:山西科技新闻出版传媒集团有限责任公司 问:《科学之友》是正规期刊吗&a…

法国巴黎交易所股票清单列表数据API接口

# Restful API https://tsanghi.com/api/fin/stock/XPAR/list?token{token}更新时间:收盘后3~4小时。 更新周期:每天。 请求方式:GET。 # 测试:返回不超过10条数据(2年历史) https://tsanghi.com/api/fin/…

idea Springboot 组卷管理系统LayUI框架开发mysql数据库web结构java编程计算机网页

一、源码特点 springboot 组卷管理系统是一套完善的完整信息系统,结合mvc框架和LayUI框架完成本系统springboot spring mybatis ,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有完整…

C#构建类库

类库程序集能将类型组合成易于部署的单元(DLL文件),为了使编写的代码能够跨多个项目重用,应该将他们放在类库程序集中。 一、创建类库 在C#中,构建类库是指创建一个包含多个类的项目,这些类可以被其他应用…

一文总结CNN中【各类卷积】操作

本文详细总结CNN中各类卷积,旨在指导 domain-specific 更好的模型设计,包括标准卷积,分组卷积(Group Conv),深度可分离卷积(Depthwise Separable Conv),转置卷积&#xf…

【C++ 设计模式】策略模式与简单工厂模式的结合

文章目录 前言一、为什么需要策略模式简单工厂模式二、策略模式简单工厂模式实现原理三、UML图四、示例代码总结 前言 在软件设计中,常常会遇到需要根据不同情况选择不同算法或行为的情况。策略模式和简单工厂模式是两种常见的设计模式,它们分别解决了对…

字节面试: Mysql为什么用B+树,不用跳表?

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团、蚂蚁、得物的面试资格,遇到很多很重要的相关面试题: Mysql用B树,不用跳表&…

JVM垃圾收集器-serial.parNew,parallelScavnge,serialOld,parallelOld,CMS,G1

垃圾收集器 分代模型 适用于新生代: serial parNew parallel Scaavenge 适用于老年代: CMS serial Old(msc) paraller Old 分区模型 适用于超大容量: G1 分代模型 serial /serial Old收集器 1.单线程收集器 2.收集时会暂停其他线程&…

java学习之路-程序逻辑控制

目录 1.分支结构 1.1 if语句 栗子 判断奇数还是偶数 判断一个年份是否为闰年 1.2switch语句 栗子 2. 循环结构 2.1while 循环 栗子 2.2break和continue break continue 2.3for循环 基本语法 栗子 2.4 do while 循环 3.输入输出 3.1输出 3.2从键盘输入 栗子…

19 OpenCV 霍夫曼变换检测圆

文章目录 cv::HoughCircles算子参数示例 cv::HoughCircles 因为霍夫圆检测对噪声比较敏感,所以首先要对图像做中值滤波。 基于效率考虑,Opencv中实现的霍夫变换圆检测是基于图像梯度的实现,分为两步: 检测边缘,发现可能…