数据库系统概念学习1

第一章  引言

数据库管理系统是由一个互相关联的数据的集合和一组用以访问这些数据的程序组成。这个数据集合通常称为数据库

特定时刻存储在数据库中的信息的集合称为数据库的一个实例,而数据库的总体设计称为数据库模式

数据库结构的基础是数据模型,数据模型是一个描述数据,数据联系,数据语义以及一致性约束概念工具的集合。数据模型提供了一种物理层,逻辑层以及视图层数据库设计的方式

存储在数据库中的数据值必须满足某些一致性约束

数据库中实体通过属性集合来描述,例如name,salary可以描述instructor实体

联系是几个实体之间的关联,例如,member联系将一位教师和她所在的系关联在一起。同一类型的所有实体的集合称为实体集,同一类型的所有联系的集合称为联系集

 第一部分--关系数据库

第二章--关系模型介绍

元组只是一组值的序列(或列表),在n个值之间的一种联系可以在数学上用关于这些值的一个n元组来表示,换言之,n元组就是一个有n个值的元组,它对应于表中的一行

在关系模型的术语中,关系用来指代表,元组用来代指行,属性指代表中的列

对于关系的每个属性,都存在一个允许取值的集合,称为该属性的

域是原子的,不可再分的

空值是一个特殊的值,表示值未知或不存在

数据库模式

数据库模式是数据库的逻辑设计,数据库实例是给定时刻数据库中数据的一个快照

一个元组的属性值必须是能够唯一区分元组的,换句话说,一个关系中没有两个元组在所有属性上的取值都相同

超码是一个或多个属性的集合,这些属性的组合可以是我们在一个关系中唯一的标识一个元组

主码主要用来在一个关系中区分不同元组的候选码

外码:

模式图

一个含有主码和外码依赖的数据库模式可以用模式图

关系查询语言

查询语言是用户用来从数据库中请求获取信息的语言

过程化语言中,用户执导系统对数据库执行一系列操作以计算出所需结果

非过程化语言中,用户只需要描述所需信息,而不用给出获取该信息的具体过程

关系运算

第三章--SQL

SQL数据定义

基本属性

基本模式定义

create table

create table r

( A1,D1,

A2,D2,

 ....,

An,Dn,

<完整性约束1>,

...,

<完整性约束k> );

完整性约束:

not null:一个属性上的not null 约束表明在该属性上不允许空值,此约束把空值排除在该属性域之外

SQl 禁止破坏完整性约束的任何数据库更新

insert

insert into instructor

       values (10211,'Smith' , 'Biology' , 66000);

delete  删除元组

delete from  student;

drop 去掉关系

drop table r;

此命令从数据库中删除关于被去掉关系的所有信息,delete 保留关系r,但删除r中所有的元组。drop 不仅删除 r 的所有元组,还删除 r 的模式,一旦 r 被去掉,除非用 create table 命令重建 r ,否则没有元组可以插入 r 中

alter table 增加属性

alter table r add A,D;

关系中的所有元组在新属性上的取值被设为 null,r 为现有关系的名字,A是待添加属性的名字,D 是待添加属性的域

alter table  r drop A;

从关系中去掉属性,其中 r 是现有关系的名字,A 是关系的一个属性的名字

SQL 查询的基本结构

SQL 查询的基本结构由三个子句构成:select,from,where

单关系查询

强行删除重复 可以在 select 后加上关键字 distinct

select distinct dept_name

from instructor;

SQL 允许我们使用关键字 all 来显式指明不去除重复

select 子句还可带含有 +,-,*,/ 运算符的算术表达式,运算对象可以是常数或元组的属性

where:

多关系查询

通过 from 子句定义了一个在该子句中所列出关系的笛卡尔积,它可以用集合理论来形式化地定义,但最好通过下面的迭代过程来理解:

此结果关系具有来自 form 子句中所有关系的所有属性

自然连接

自然选择运算作用于两个关系,并产生一个关系作为结果,自然连接只考虑那些在两个关系模式中都出现的属性上取值相同的元组对。

附加的基本运算

更名运算

as 子句 

old-name  as new-name

as 子句既可以出现在 select 子句中,也可以出现在 from 子句中

字符串运算

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

总结 NAT 机制的工作流程及优缺点

什么是NAT NAT定义 **NAT&#xff08;Network Address Translator&#xff0c;网络地址转换&#xff09;**是用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址的技术. 实际上是为解决IPv4地址短缺而开发的技术: NAT技术作为当前解决IP地址不够用的主要手段&a…

【杂】环形时钟配色笔记

配色网站笔记 coolorsflatuicolorscolordrophttps://www.webdesignrankings.com/resources/lolcolors/ 配色2

redis八股1

参考Redis连环60问&#xff08;八股文背诵版&#xff09; - 知乎 (zhihu.com) 1.是什么 本质上是一个key-val数据库,把整个数据库加载到内存中操作&#xff0c;定期通过异步操作把数据flush到硬盘持久化。因为纯内存操作&#xff0c;所以性能很出色&#xff0c;每秒可以超过10…

JAVAEE初阶相关内容第八弹--多线程(初阶)

本文目录 阻塞队列 阻塞队列是什么&#xff1f; 标准库中的阻塞队列 生产者消费者模型 阻塞队列的实现 普通队列实现&#xff1a; 入队列&#xff1a; 出队列&#xff1a; 完整代码&#xff1a; 加阻塞 加锁 加阻塞 阻塞队列 队列&#xff1a;先进先出&#xff0c;…

Python基于Flask的招聘信息爬取,招聘岗位分析、招聘可视化系统

Python基于Flask招聘信息可视化系统 一、介绍 今天为大家带来的是Python基于Flask的招聘信息爬取&#xff0c;招聘岗位分析、招聘可视化系统。视频演示地址&#xff1a;https://www.bilibili.com/video/BV1Tp4y1A7nW/ Python基于flask的招聘数据可视化&#xff0c;招聘岗位分…

不关闭Tamper Protection(篡改保护)下强制卸载Windows Defender和安全中心所有组件

个人博客: xzajyjs.cn 背景介绍 由于微软不再更新arm版本的win10系统&#xff0c;因此只能通过安装insider preview的镜像来使用。而能找到的win10 on arm最新版镜像在安装之后由于内核版本过期&#xff0c;无法打开Windows安全中心面板了&#xff0c;提示如下&#xff1a; 尝…

常用百宝箱——日志处理

目录 前言 一、logging库 二、logging日志等级 三、logging四大组件 四、封装示例 总结 前言 日志是记录特定时间段或事件的详细信息的文件或记录。它们通过时间戳和关键词或描述符来标识事件或行动。日志可以用于许多目的&#xff0c;例如&#xff1a;故障排除、网络安全…

小白备战大厂算法笔试(三)——栈、队列、双向队列

文章目录 栈栈常用操作栈的实现基于链表的实现基于数组的实现 两种实现对比栈典型应用 队列队列常用操作队列实现基于链表的实现基于数组的实现 队列典型应用 双向队列双向队列常用操作双向队列实现基于双向链表的实现基于数组的实现 双向队列应用 栈 栈是一种遵循先入后出的逻…

solidworks底部状态栏显示不出来

如下图所示&#xff0c;solidworks主界面下面的状态栏突然不见了。 怎么调出来&#xff1f; 第一步&#xff1a;点击视图菜单&#xff0c;用户界面&#xff0c;把状态栏前的勾勾上。 第二步&#xff1a;把视图下面的触摸模式关掉&#xff0c;这一点很容易被大家忽略。

天津web前端培训班 前端是否适合零基础学?

随着HTML 5和ECMAScript 6的正式发布&#xff0c;大量的前端业务逻辑&#xff0c;极大地增加了前端的代码量&#xff0c;前端代码的模块化、按需加载和依赖管理势在必行&#xff0c;因此Web前端越来越被人们重视。 Web前端的就业前景 Web前端开发工程师薪资持续走高&#xff…

基于订单流的日内盘口策略

量化策略开发&#xff0c;高质量社群&#xff0c;交易思路分享等相关内容 『正文』 ˇ 目录 一、基于订单流的日内盘口策略 二、亚努斯量化交易图表介绍 一、基于订单流的日内盘口策略 大家好&#xff0c;我是乌克兰剑圣。 在7月份的时候我们发布了第一版盘口策略专享策…

【python零基础入门学习】python基础篇之系统模块调用shell命令执行(四)

本站以分享各种运维经验和运维所需要的技能为主 《python》&#xff1a;python零基础入门学习 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8》暂未更新 《docker学习》暂未更新 《ceph学习》ceph日常问题解…