一:Lec1
1.一些术语
a. 使用Table代表relation。表中行和列顺序是没有意义的
b. attribute 代表 column--也就是degree。
c. Tuple 代表 row---也就是Cardinality。(注意表中不要有重复的行 duplicate tuples)
2.引入键的概念
a. 主键 Primary Key--- 唯一性(能identify 每一行) + 非空
不变性:一旦记录被创建,其主键的值就不应该更改。
单一性:一个表中只能有一个主键。
b. 候选键 Candidate Key --- 也具有唯一性和非空性--(一个表中可以拥有多个候选键)
主键是从候选键中选取的一个。
最小性:候选键是最小的超键,意味着它不能进一步移除任何属性而仍然保持唯一性。
c.超键 Super Key ---- 也具有唯一性识别 ---但增加了包容性---意是可以拥有多列无用的列
比如 只要ID就可以具有唯一性,但是超键可以是ID+Grade。
d. 外键 Foreign Key --- 引用另一个表中的主键用来关联两个表
二:Lec2
1.有关数据库的编程语言
a. Create database Database_Name; 创建
b. Use Database_Name; 使用
c. Create Table Table_Name(
cloumn1_name datatype col-option,
cloumn2_name datatype col-option,
名字 类型 限制(主键/之类的)
);
2. 讲一波数据类型-- datatype
a. Char----固定长度,可以接受0~255. 意思就是Char(5) 如果穿进去A,则为'A '。
b. Varchar --- 不固定长度,可以接受0~65535,会根据传进来的定。
c. TINYINT --- 可接受-128~127, 在unsigned情况下 0~255。
d. SmallInt --- 使用2Bytes记录,可接受 -32768~32767。
e. MediumInt --- 使用3Bytes记录。
f.Int --- 使用4Bytes记录。
h. BIGINT -- 使用8Bytes记录。
i. Float(p) -- P代表精度 in bits ------ 通常使用单精度或双精度。
g. Date --- '1000-01-01'类型
h. DateTime ---- ' 10000- 01- 01 00:00:00.000000'---------TimeStamp-UTC时间
3.讲一下 约束-也是Column Options
a. Not Null --- 非空
b. Unique --- 唯一的 Primary key = Not null + Unique
c. Default value --- 直接给一个默认值
d. Auto_Increasement ----- 每次自动加一,一般总用于主键
练习题1
4.讲解如何插值给数据库------Insert
a. 格式
b.练习
5. 关于修改------ Update
a. 格式
b. 练习
6. 关于删除------ Delete-------删表跑路 Drop Table if Exists 表名
a. 格式
7.详细聊聊约束问题----Constraints
a. 建表的最后 Constraints 约束名 约束(列名)
b. 一些例子
尤其是外键---Constraint 约束名 Foreign Key(列名) reference 其他表名字 (至少是那个表的候选键)
8. 重中之重---外键约束 Reference Options
a. Restrict ---- 当尝试删除或更新主键表中的一行,并且该行在外键表中有引用时, 选项会阻止删除或更新操作
b. CASCADE --- 会在主键表中进行的删除或更新操作自动传递到外键表
例如,当删除用户时,同时删除该用户的所有相关记录。
c. SET NULL --- 当主键表中的记录被删除或更新时,外键表中的对应记录会被设置为
分为两种情况ON DELETE -- ON UPDATE
8.关于Alter语句 ----增/改/删
a. 增加一列------ Alter Table 表名 ADD 列名 datatype option
删除一列 ----- Alter Table 表名 Drop Column 列名
修改一列 ----- Alter Table 表名 Change Column 旧列名 新列名 datatype option
b. 增加约束 ---- Alter Table 表名 ADD Constraint 约束名 具体约束(Unique(col1))
删除约束 --- Alter Table 表名 Drop Primary Key
三:Lec3
1. 关于Select的一些操作
a. Distinct 去除掉重复的
b.有关Like语句 ---- 查询相关的String
例子 where 列名 like '%nb%' ------ 意思就是是否包含nb
'%nb' ----- 前缀是nb 'nb%' ------后缀是nb 'nb_' nb后面有一个字符
2.关于表之间的连接
a. 防止两个表有一样的列-----可以Table1.ID = Table2.ID
b. Aliases --- Select column as new_name/ Select * from table_name as new_table_name
3. 子连接 Self-Joins(主要解决同一张表中不同行之间的匹配)
4.子查询 Subqueries ------嵌套语句一般先执行
a. IN---check value is in a set 找department_id的1,2,3的所有------可以替代OR
b. EXISTS ---- 测试子查询是否返回至少一个行
c. ANY /ALL 只要有一个就行/全都
四:Lec4
1. 四种不同的连接方式
a. Cross --- 交叉连接,返回两表中的所有可能组合,每一行都与另一行进行组合
b. Inner Join --- 内连接 根据指定要求连接两个表才会连接(可以用Using当两个表列名相同)
例子: Select * from A Inner Join B ON condition
c. Nactural Join --- 自然连接(自动连接名字相同的列)
d. Outer Join --- 外连接(Left / Right) Full Outer Join
左连接就是左边全部保留-右边的没有的设置为null,可以有 on condition
2. 关于ORED BY --- 升降序
a. Select * from table_name where condition ORDER BY 列名(ASC / DESC
3. 讲讲算法
a. COUNT : The number of the rows. ----- 仅计算指定列中非 NULL 值的数量
b. SUM --- 计算整列的合
c. AVG ----计算整列的平均
d. MIN 和 MAX
4.Group By --- 主打一个分组 将相同名字的行合并
a. 基础语法
b.与 WHERE 的区别
c. 例子--- 首先Where查询---然后用having过滤----确保在 之后和 之前使用 子句。
6.集合计算
a.Union --- 将两个表的Selection结果合并成一个
基本语法
去除重复行:
列的数量和类型:
排序和限制:
例子:
五:Lec5 ER图(一般在做后一道题直接让画)
1.如何从一段话中找出实体(Entities -- Table),属性(Attributes -- column), 关系(Relationships -- 外键连接)
a.实体(Entity)
b. 属性(Attribute)
c. 关系(Relationship)
2. 详细聊聊基数问题 --- 基数有三种主要类型:一对一(1:1),一对多(1:M 或 M:1),多对多(M:N)
a. 一对一 (1:1)
b. 一对多 (1:M 或 M:1)----- 对于 1:M 关系,线条会在“多”的一端有一个箭头或“鸟爪”标记
c. 多对多 (M:N)
3. 重中之重 --- 如何从一段话中找出实体属性关系,绘画ER图(会在后续的练习题里详细说)
4.关于M:M关系的问题----当我们发现M:M关系的时候,我们经常引用一个其他表去拆分这种复杂的关系。
a.特点和处理
b. 例子
假设有两个实体“学生”和“课程”,它们之间存在多对多关系。为了实现这种关系,我们创建一个名为“学生选课”(StudentCourses)的关联表:
学生表(Students)
课程表(Courses)
学生选课表(StudentCourses) - 关联表
5. 同理关于 1:1 的关系也有问题---
这意味着每个实体集中的一个成员都精确地对应于另一个实体集中的一个成员。一对一关系在实际应用中相对较少见,但在某些情况下非常有用。
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://www.bhha.com.cn/news/5188.html