关系数据库
关系就是集合的笛卡尔积的子集
(1)R包含于A×B×C…… (2)关系和表是一个意思,是不同的说法,表更容易懂 (3)(R)relation schema(也就是表头)相当于class(Java中的),表明是哪几个集合的笛卡尔积的子集,没有值 (4)relationship表的每一行叫做具体关系,相当于object(Java中的),各行之间没有顺序,不能计算第一行或者最后一行元组(因为没顺序,不知道第一、最后)
Relation
1、客观世界有对象,对象之间有关系,强调描述
(1)关系和对象在关系模型中具有同等语义,是一样的 (2)主键(key):没有两行是一样的 (3)外键(foreign key):表达两个对象之间的关系 (4)关系、主键、外键等所有东西加起来就是database schema,也就是relation schema 的集合
2、基本结构是表格,用关系代数去操作
(1)表格叫做操作数 (2)r × s → × 叫做操作符 (3)两个关系做笛卡尔积之后还是关系 (4)选择运算:选取行,不会改变schema,instance改变了 (5)投影运算:选取列,改变schema,相同的行留一个(因为 集合里没有重复元素)
(6)关系与关系代数表达式
整个式子是一个关系,因为计算之后的结果是一个表格;选择操作符以及后面的amount>1200 则是关系代数表达式。
总结
总的来说,研究生的数据库学习和本科大同小异,但是本科可能更重视的是实操,把所学的东西具体落实到程序和代码上,但是研究生的课程偏向于理论与逻辑,虽说不复杂,但是理解起来还是挺吃力的。老师说程序员现在工作高得离谱,但是等到了35岁左右,有了妻子、家庭、孩子,身上负担加重,但是却没有年轻的活力。相反,那时候刚出学校大门的毕业生们反倒是毫无负担,身体也能吃得消,大龄程序员何去何从真的成了一个人生大问题。确实如此,也应该早做打算,不学习新知识,不使用新技术,永远掌握不了主动权。路漫漫其修远兮,吾将上下而求索,加油!
|