数据库系统DBS、数据库管理系统DBMS、数据库管理员DBA
内模式:管理如何存储物理数据,对应具体物理存储文件
概念模式:通常使用的基本表,根据应用、需求将物理数据划分成一张张表
外模式:对应数据库的视图,将表处理后提供给用户使用
外模式-概念模式:表和视图的映射,修改了表中数据,只需要修改此映射,无需修改应用程序
概念模式-内模式:表和数据的物理存储的映射,修改了数据存储方式,只需修改此映射,无需修改应用程序
数据模型三要素:数据结构(所研究对象类型的集合)、数据操作(对数据库中各种对象的实例允许执行的操作的集合)、数据的约束条件(一组完整性规则的集合)
E-R模型:实体-联系模型,椭圆表示属性(一般没有)、矩形表示实体、菱形表示联系、联系两端要标注联系类型
联系类型:1:1、1:n、m:n
属性分类:简单属性和复合属性(属性是否可以分割)、单值属性和多值属性(属性有多个取值)、NULL属性、派生属性(由其他属性生成)
即数据库中的表,包括实体的属性,标示出实体的主键和外键
S(Sno, Sname, SDm Sagem Sex)学生
T(Tno, Tname, Age, Sex)教师
C(Cno, Cname, Pcno)课程
SC(Sno, Cno, Grade)学生选课
E-R图的每个实体都对应一个关系模式
给定一个X能唯一确定一个Y,就称X确定Y,或者说Y依赖于X,例如Y = X * X函数
完全函数依赖:AB能得出C,通过A、B单独不能得出C,则C完全依赖于AB
部分函数依赖:AB能得出C,AB中的一部分(A或B)也可以确定C**,称为部分函数依赖
传递函数依赖:AB不等价,A可确定B,B可确定C,则A可确定C,为传递函数依赖。若A和B等价,则不存在传递
超键:能唯一标识此表的属性的组合
候选键:超键中去掉冗余的属性,剩下的属性为候选键
主键:任意一个候选键
外键:其他表的主键
主属性:候选键内的属性为主属性,其他为非主属性
实体完整性约束:主键约束,主键值不能为空,也不能重复
参照完整性约束:外键约束,外键必须是其他表中存在的值,或者为空
用户自定义完整性约束:自定义表达式约束
从入度为零的节点寻找能遍历整个图的属性,就是候选字
范式之间的转换一般是拆分属性,即模式分解。将具有部分函数依赖和传递依赖的属性分离出来
事务提交commit、事务回滚rollback
事务由一系列操作组成,要么全做要么全不做
特点:
事务是并发控制的前提条件
三个问题:
三级封锁协议
X锁:排它锁,可读写其他事务不能加任何锁
S锁:共享锁,只能读其他事务只能加共享锁
一级封锁协议:修改前必须先加X锁,事务结束释放,解决丢失更新
二级封锁协议:以及的基础上读数据前先加S锁,读完后释放,解决丢失更新、读脏数据
三级封锁协议:二级加S锁后事务结束才释放,解决丢失更新、读脏数据、数据重复读
完全备份:备份所有数据
差量备份:备份上一次完全备份后变化的数据
增量备份:备份上一次备份后变化的数据
把所有操作写入日志文件,把数据缓冲区内容写入数据文件
分片模式:
分布透明性:
特殊的数据库,
数据源 --抽取清理装载刷新–> 数据仓库 --> 服务
发现剩余价值
方法:
BI 数据预处理(抽取转换加载ETL)、建立数据仓库、数据分析(联机分析OLAP、数据挖掘)、数据展现(可视化)
表拆分后不利于查询,所以反规范化以提高效率
创建表create table
指定主键primary key()
指定外键foreign key()
修改表alter table
删除表drop table
索引index
视图view
CREATE TABLE S(Sno CHAR(5) NOT NULL UNIQUE,
Sname CHAR(30) UNIQUE,
Status CHAR(8),
City CHAR(20)
PRIMARY KEY(Sno));
ALTER TABLE S ADD Zap CHAR(6);
DROP TABLE Student
CREATE UNIQUE INDEX S-SNO ON S(Sno);
CREATE VIEW CS-STUDENT
数据库查询select ... from ... where
分组查询 group by,分组时要注意select后的列名要适应分组,having为分组查询附加条件
select sno, avg(score) from student group by sno having(avg(score)>60)
更名运算as
select sno as "学号" from t1
字符串匹配like, %匹配多个字符串,_匹配任意一个字符串
select * from t1 where sname like'a_'
数据库插入insert into ... values()
insert into t1 values('a',66)
数据库删除delete from ... where
delete t1 where sno=4
数据库修改update ... set ... where
update t1 set sname='aa' where sno=3
排序order by,默认为升序,降序要加关键字DESC
select * from t1 order by sno desc
distinct 过滤重复的选项,只保留一条记录
union 出现在两条sql语句之间,将两个sql语句的查询结果取或运算
intersect 对两个sql语句的结果做与运算
min avg max 分组查询的聚合函数
select - pi
文章浏览阅读2.7k次。在室友Xcode继承一些framework时,爆出了如下错误:dyld: Library not loaded: @rpath/libswiftCore.dylib Referenced from: /private/var/containers/Bundle/Application/1761A6FE-9D6B-45F7-9F9F-922C94BF54A3/demo.app/Framewor..._library not loaded: @rpath/libswiftcore.dylib
文章浏览阅读356次。光标控制命令h或^h向左移一个字符j或^j或^n向下移一行k或^p向上移一行l或空格向右移一个字符G移到文件的最后一行nG移到文件的第n行w..._gvim itab
文章浏览阅读1k次,点赞12次,收藏10次。按 name 卸载缓存状态下的 节点,name 可选类型为 String 或 RegExp,注意,仅卸载命中 的第一层内容,不会卸载 中嵌套的、未命中的。按 name 刷新缓存状态下的 节点,name 可选类型为 String 或 RegExp,注意,仅刷新命中 的第一层内容,不会刷新 中嵌套的、未命中的。按 name 卸载缓存状态下的 节点,name 可选类型为 String 或 RegExp,将卸载命中 的所有内容,包括 中嵌套的所有。true: 卸载时缓存。获取所有缓存中的节点。_umi-plugin-keep-alive
文章浏览阅读3k次,点赞2次,收藏25次。用了几天的memory compiler,搞清楚了它的使用流程。因为这个软件是不开源的,而且手册又很长,没有快速阅读指南,所以就花了挺多时间学习手册细节,想把其中比较主要的流程记录下来,供大家学习参考。它是一个用来综合一些IP核的软件,它里面各种各样的memory compiler,可以根据自己的选择选中一个,设置好参数之后就能生成想要的参数的memory。 因为每个memory compiler可能工艺不一样,端口数不一样,所以里面有手册告诉你这些细节的。(手册很多,每个手册几百页上下)1、首先就是要安装_memory compiler
文章浏览阅读5.6k次,点赞5次,收藏16次。前言什么是csv文件呢?百度百科上说 CSV是逗号分隔值文件格式,也有说是电子表格的,既然是电子表格,那么就可以用Excel打开,那为什么要在Android中来读取这个.csv格式的文件呢?因为现在主流数据格式是采用的JSON,但是另一种就是.csv格式的数据,这种数据通常由数据库直接提供,进行读取。下面来看看简单的使用吧正文首先还是先来创建一个项目,名为ReadCSV准备.csv格式的文件,点击和风APILocationList下载ZIP,保存到本地,然后解压,这个时候在你的项目文件中新建_android 读取csv
文章浏览阅读810次。Spring Cloud Ribbon Rule _spring cloud ribbon原理
Linux下使用java -jar命令运行jar包,可通过ctrl + c或关闭窗口停止程序。可以使用pid文件记录jar包的运行进程,方便终止。通过编写启停脚本,可以方便地终止jar包的运行。
文章浏览阅读1.4w次,点赞8次,收藏40次。1. 名词 名词可以分为专有名词(Proper Nouns)和普通名词 (Common Nouns),专有名词是某个(些)人,地方,机构等专有的名称,如Beijing,China等。普通名词是一类人或东西或是一个抽象概念的名词,如: book,sadness等。普通名词又可分为下面四类: 1)个体名词(Individual Nouns):表示某类人或东西中的个体,如:gun。 2)集体..._英语基础语法
文章浏览阅读1.3k次,点赞2次,收藏14次。rootfs有两种格式:nfs方式启动的文件夹形式的rootfs和用来烧录的镜像形式的rootfs。一、busybox移植1、busybox下载busybox是一..._busybox mount
文章浏览阅读8.6k次,点赞11次,收藏20次。今天在学习狂神的vue实战上手的时候运行项目就死了,配置了半天终于好了第一个错误:Module build failed: TypeError: loaderContext.getResolve is not a functionsass-loader版本太高 解决:(1和2选一个)修改配置文件,重新安装//1.修改sass-loader的版本为^7.3.1//2.重新安装配置环境npm install卸载当前,重新下载// 卸载当前版本npm uninstall sass_sass loader
文章浏览阅读1.7k次,点赞5次,收藏12次。1、什么是算术运算?什么是关系运算?什么是逻辑运算?算术运算:即“四则运算”,是加法、减法、乘法和除法四种运算的统称;关系运算:所谓“关系运算”就是“比较运算”,将两个数值进行比较,判断其比较的结果是否符合给定的条件;逻辑运算:逻辑运算又称布尔运算,有与、或、非三种基本逻辑运算;2、C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?C语言编译系统在表示逻辑运算结..._1、什么是算术运算?什么是关系运算?什么是逻辑运算?
文章浏览阅读65次。iptables介绍和禁icmpnetfilter --> iptables 防火墙名字是netfilter iptables是命令1.filter(过滤包,用的最多的,)内建三个链: 1.INPUT作用于进入本机的包 2.OUTPUT作用于本机送出的包 3.FORWARD作用于那些跟本机无关的包2.nat (主要用处是..._linux iptables 计数器 实现在哪