数据库(选择题)

news2024/9/22 5:38:41

基本概念

数据库(DB):长期存储在计算机内的、有组织的、可共享的数据集合。

数据库管理系统(DBMS):它是数据库的机构,是一个系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。

数据库管理系统是数据库系统的核心。

数据库系统(DBS)数据库、数据库管理系统、数据库管理员、硬件平台、软件平台。

数据库管理员(DBA):数据库管理员的主要任务:数据库设计、数据库维护、改善系统性能。

DBS包含DB、DBMSDBMS用来管理DB

数据库管理系统提供了以下数据语言:

数据定义语言(DDL):负责数据的模式定义和数据的物理存取构建。

数据操纵语言(DML):负责数据的操纵,包括查询、增、删、改等操作。

数据控制语言(DCL):负责数据完整性、完全性的定义与检查、并发控制、故障恢复等功能。

数据库技术的发展

数据管理技术的3个阶段:

人工管理阶段、文件管理阶段、数据库系统管理阶段

数据库技术的根本目的:解决共享问题。

数据库系统体系结构(三级模式两级映像)

 内模式发生变化时,由模式/内模式映像维持模式不变;模式发生变化时,由外模式/模式映像维持外模式不变(内变外不变)

用户所能见到的模式是外模式

在数据库的三级模式中,外模式(用户模式或子模式)可以有任意多个

将数据库的结构划分成多个层次,是为了提高数据库的逻辑独立性和物理独立性

数据模型

数据模型的基本概念

数据模型:对数据特征的抽象。数据模型就是对现实世界的模拟、描述和表示。

数据模型的三要素:数据结构、数据操作、数据约束。

数据模型的类型:

概念数据模型(概念模型):E-R模型(实体联系模型)

逻辑数据模型(数据模型):层次模型、网状模型、关系模型

                                     层次模型:用树形结构表示实体及其之间联系的模型。

                                     网状模型:用网状结构表示实体及其之间联系的檬型。

物理数据模型(物理模型)

E-R模型 

 

 实体间联系的类型

1对1(1:1):一个学号对应一个学生,一个学生对应一个学号(学号:学生)

1对多(1:m):一个老师可以上好多班级的课,这些班级的这个课只能由这一个老师上(老师:不同班级同一门课)

多对多(m:m):一台电脑可以由多个学生用,多个学生可以用同一个电脑(学生:电脑)

关系模型

关系模式采用二维表来表示关系,简称表,一个二维表就是一个关系。

属性:二维表中的一称为属性。

元组:二维表中的一称为元组。

表一
表一

键/码:二维表中能唯一表示元组的最小属性集。

例如上表学号、姓名、年龄、专业都可以成为码。

主键/主码:若一个二维表中有多个码。则选定其中一个作为主键供用户使用。

在学号、姓名、年龄、专业中选一个就是主码。

表二

这个表中你发现学号、课程号、成绩,都不能单独作为码,所以,就可以将多个属性结合起来作为码。例如学号和课程号确定了就唯一确定了成绩。

外键/外码:表M中的某属性集是表N的候选键或主键,则称该属性集为M的外键。

表三

表一的外码是专业,专业来自表三

表二的外码是学号和课程号,前者来自表一后者来自表二。

表三的外码没有外码。

 关系代数

关系数据论(范式) 

表一
表一

部分函数依赖:我们那表一举例学号可以唯一确定姓名,学号和年龄也可以确定姓名,但是,年龄这个属性又是可要可不要的,像这样姓名这个属性的确定可以只由学号和年龄中的学号确定的现象叫做部分函数依赖,即只需要依赖学号和年龄中的部分就能确定姓名这一属性。

单选 定义学生选修课程的关系模式如 下:SC(S#,Sn,C#,Cn,G,Cr)(其属性分别为学号、姓名、 课程号、课程名、成绩、学分)则对主属性部分依赖的是 ()

A.(S#,C#)-→G

B.S#-→Sn

C.(S#,C#)-→S#

D.(S#,C#)-→C#

关系SC中的主键是(S#,C#),但S# (学号)单独就可以诀定Sn (姓名),存在着对主属性的部分依赖。本题选B。

传递函数依赖:通过学号可以知道姓名,又通过姓名可以知道专业,那么通过学号也可以确定专业的这种情况叫做传递函数依赖。

学生和课程的关系模式定义为S (S#, Sn, Sd,Dc, Sa)(其属性分别为学号、姓名、所在系、所在系的系主任、年龄);C(C#,Cn, P#)(其属性分别为课程号、课程名、先选课)﹔SC (S#,C#,G)(其属性分别学号、课程号和成绩)。关系中包含对主属性传递依赖的是________。

A. S#→Sd,Sd→Dc

B. S#→sd

C. S#→Sd,(S#,C#)→G

D. C#→P#,(S#,C#)→G

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

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

相关文章

深度学习03-神经网络02-激活函数

可以使用这个进行跳转链接​​​​​​​http://playground.tensorflow.org/#activationrelu&batchSize11&datasetspiralDatasetreg-gauss&learningRate0.01ularizationRate0.1&noise0&networkShape7,5,4,3,2&seed0.54477&showTestDatafalse&d…

C语言常见字符串函数模拟实现一

strlen模拟实现 重点:1.字符串已经\0作为结束标志,strlen返回的是字符串\0前面出现的字符个数(不包含\0) 2.参数指向的字符串必须要以\0结束。 3.注意函数的返回值是size_t,是无符号的,加减是无法对比的。…

nginx模块篇(四)

文章目录 四、Nginx的扩展模块4.1. Lua4.1.1 概念4.1.2 特性4.1.3 应用场景4.1.4 Lua的安装4.1.5 Lua的语法4.1.5.1 第一个Lua程序4.1.5.2 Lua的注释4.1.5.3 标识符4.1.5.4 关键字4.1.5.5 运算符4.1.5.6 全局变量&局部变量4.1.5.7 Lua数据类型nilbooleannumberstringtablef…

LeetCode[中等]

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 思路: 计算链表长度num,num - n就是需要删去结点的索引 其中若删去第一个结点,返回head.next; /*** Definition for singly-linked list.* public …

python:编写一个函数查找字符串中的最长公共前缀

最近在csdn网站上刷到一个题目,题目要求编写一个函数查找字符串中的最长公共前缀,题目如下: 给出的答案如下: from typing import List def longestCommonPrefix(strs:List[str]) -> str:if len(strs) 0:return i 0 #代…

828华为云征文——使用Flexus云服务器X实例CentOS镜像下创建MySQL服务器教程

一、概述 1.1 前言 当前正值华为云盛大的828 B2B企业庆典,其中Flexus X实例的特惠活动尤为吸引人眼球。对于追求极致算力表现,并期望在自建MySQL数据库、Redis缓存系统及Nginx服务器部署上获得卓越性能的企业用户而言,这无疑是一个不可多得的…

SVTR文字识别

论文地址:https://arxiv.org/abs/2205.00159 notes: 论文2.5中说的N nodes,就是输出的类别数量,英文37,中文6625,英文37说的是最简单的英文文字识别任务,不区分大小写,就是26个字母…

数据湖 Data Lake-概述

Data Lake 1. 数据湖的定义 数据湖是一种存储系统,用于集中存储大量的原始数据,可以按数据本来的原始格式进行存储,用户可以在需要时提取和分析这些数据。 A data lake is a centralized repository designed to hold vast volumes of data …

python+selenium实现自动联网认证,并实现断网重连

pythonselenium实现自动联网认证,并实现断网重连 echo off python “E:\autoD\auto_login.py” 要使自动登录脚本在系统重启后自动运行,你可以使用Windows的任务计划程序来设置。以下是详细的步骤: 1. 保存脚本 首先,将你的Py…

Elasticsearch 检索优化:停用词的应用

Elasticsearch 检索优化:停用词的应用 场景描述 目前在 Elasticsearch 集群中存储约 1.5 亿篇文章数据,随着数据量的增加,检索性能问题逐渐显现。在列表检索和聚合操作中,CPU 消耗飙升至 100%,并且检索耗时较长&…

Java | Leetcode Java题解之第424题替换后的最长重复字符

题目&#xff1a; 题解&#xff1a; public class Solution {public int characterReplacement(String s, int k) {int len s.length();if (len < 2) {return len;}char[] charArray s.toCharArray();int left 0;int right 0;int res 0;int maxCount 0;int[] freq n…

时序预测|基于灰狼优化LightGBM的时间序列预测Matlab程序GWO-LightGBM 单变量和多变量 含基础模型

时序预测|基于灰狼优化LightGBM的时间序列预测Matlab程序GWO-LightGBM 单变量和多变量 含基础模型 文章目录 一、基本原理原理概述流程注意事项 二、实验结果三、核心代码四、代码获取五、总结 一、基本原理 时序预测中使用灰狼优化&#xff08;GWO&#xff09;结合LightGBM的…

【问题随记】在使用 AuthenticationManager 的时候,出现循环依赖问题 —— `java.lang.StackOverflowError`

问题随记 在使用 AuthenticationManager 的时候&#xff0c;出现循环依赖问题 —— java.lang.StackOverflowError&#xff0c;查资料查了两天半&#xff0c;终于找到原因。 2024-06-16T17:54:19.48708:00 ERROR 20672 --- [nio-8789-exec-1] o.a.c.c.C.[.[.[/].[dispatcherS…

猫咪检测系统源码分享

猫咪检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

AI健身之俯卧撑计数和姿态矫正-角度估计

在本项目中&#xff0c;实现了Yolov7-Pose用于人体姿态估计。以下是如何在Windows 11操作系统上设置和运行该项目的详细步骤。 环境准备 首先&#xff0c;确保您的计算机已经安装了Anaconda。Anaconda是一个开源的Python发行版本&#xff0c;它包含了conda、Python以及众多科…

静态链表:实现、操作与性能优势【算法 16】

静态链表&#xff1a;实现、操作与性能优势 在算法和数据结构的探索中&#xff0c;链表作为一种基础且灵活的数据结构&#xff0c;广泛应用于各种场景。然而&#xff0c;在算法竞赛或需要高效内存管理的环境中&#xff0c;传统的动态链表可能会因为内存分配和释放的开销而影响性…

完整版:NacosDocker 安装

第一步&#xff1a;先直接通过命令安装 Nacos docker run --name nacos2.2.3 -d -p 8848:8848 -e MODEstandalone f151dab7a111 第二步&#xff1a;创建 Docker 挂载目录 # 创建 log 目录 mkdir -p /root/nacos 第三步&#xff1a;将 Docker 容器的文件复制到挂载目录中 …

C++之Person类

首先设置头文件&#xff0c;将题目中的要求完成。 #include <iostream>using namespace std;class Person { public:Person();Person(string name, int id, string address);~Person();void setPerson(string name, int id, string address);void setName(string name);…

python新手的五个练习题

代码 # 1. 定义一个变量my_Number,将其设置为你的学号&#xff0c;然后输出到终端。 my_Number "20240001" # 假设你的学号是20240001 print("学号:", my_Number) # 2. 计算并输出到终端:两个数(例如3和5)的和、差、乘积和商。 num1 3 num2 5 print(&…

计算机的错误计算(一百)

摘要 探讨 与 的计算精度问题。 从计算机的错误计算&#xff08;九十九&#xff09;知&#xff0c;运算 与 均被列在IEEE754-2019中。然而&#xff0c;似乎并没有哪种语言实现内置了第二个运算。 例1. 计算 与 不妨在Python 3.12.5 下计算&#xff0c;则有 然而&#…