old-method
1明白业务需求之后,根据应用功能上的要求,数据本身的特性建模
2对建好的模型不断修改,使其更具有 内敛性,维护性,
3建立数据表之间的关系(根据前端的应用要求)
4模型优化,包括数据类型的调整,索引的建立
之后根据具体的问题来进行针对性的修改,总感觉缺乏某些理论上的规范和指导首先从最基本的数据模型学起。
数据模型:是数据库中描述实体和实体间联系以及有关语义约束的一种方法,有三部分组成:数据结构、数据操作和数据的完整性约束。
数据结构:描述数据的静态结构,包括应用所涉及的对象类和对象类所具有的特征以及它们之间的联系
数据操作:施加在对象上的一种操作,对数据动态特性的描述。
数据完整性:对数据静态和动态特性的限定,它定义相容的数据库状态的集合和所允许的状态改变。
关系数据模型
基本的数据结构是二维表,由行和列组成。一张二维表称为一个关系。存放两类数据a 实体本身数据b实体间的联系
具有数据结构单一,使用方便的特点。
关系和关系模式
关系模型中唯一的数据结构是关系,一个关系对应一张二维表。关系中元祖的取值范围称为关系的域(domain)。数据库中的关系具有如下性质
1每一列中的值是同类型的数据,来自同一个域
2不同的列可以有相同的域,每一列成为属性,用属性名标识
3列的次序是无关紧要的
4关系中的每个分量是不可分的数据项
5元组的次序是无关紧要的
6关系中的各个元组是不同的,即不允许有重复的元组
关系模式:
关系是元组的集合 ,它的表示为两部分一部分是对关系的描述,称为关系模式(relation shema),另一部分是关系中元组的集合称为关系。
关系模式一经确定不会随意改变,关系中的元组将随时间的改变动态的改变。
键(key)
键能唯一地标识一个元组,使不同元组表示客观世界中的不同实体。定义为:设关系模式R(U),K属于等于U,r是R 上的任一关系,若对r中的任意两个不同
元组满足 a t1【k】!=t2【k】, b 若 k’属于k,但 t1【k‘】!=t2【k’】,则称k是r的键。若b不成立,称k是R的超键(superkey)。元祖中作为键的属性值不能为空。
接下来看一下关系模型之关系运算
1布尔运算:并、交、差、补是两个关系间的运算,要求参加运算的两个关系是相容关系,即两个关系具有相同的度(列数相同)且他们对应属性定义在同一个域上。
补运算:补和有效补,前者是理论上对属性域的求反操作,后者结合属性对应关系r上的有效值域。当有效补的元组数目比关系本身的元组数少时,有效补可作为记录的压缩手段
2选择运算:关系上的一元运算,是从关系中选择在指定属性上有确定值得关系的子集,选取关系中行的子集。具有如下特性:
可交换性:选择运算的顺序是不重要的,改变顺序得到的结果一致;
可分配性:对于两个关系的布尔运算所得结果上的选择,可以分配到对每个关系上的选择,然后将结果进行布尔运算。选择运算与补运算的结合其结果与运算次序有 关;
3投影: 选取关系中列的子集,如果投影属性中不包括关系的键,则选取的列中会出现重复元组。特性:
投影的串接:对一串投影,若投影的属性具有包含关系,计算投影的结果时仅需考虑投影的最小属性集即可;
投影和选择是可交换的。
4 连接:是连接两个关系的二元运算。通常,连接运算是在两个关系共同属性上的等值连接,称为自然连接(natural join)
关系r(R)和s(S),则r与s的连接是r中的元组和s中元组的串接,他们的公共属性只出现过一次,若模式R和S的交集为空则rs的连接为rs的笛卡尔积,属性数为两个关系属性数之和,元组数为两个关系元组数的乘积。
连接运算可模拟选择运算;连接运算是可交换和可结合的;多元连接,完全连接;连接对并的可分配性;
&_连接:两个关系同名属性的等值连接是最常用的连接 ,关系也能在不同属性名上的连接,连接属性的比较可以是大于,小于,等于,不等于等任意比较符,但这些不同属性名应有相同的域,称为&_连接。&为“=”时称为等值连接,而其余的统称为不等值连接。
5除运算:关系r(R)和s(S),且S隶属于R,令R‘=R-S,r/s结果为一个新关系r’记为r‘(R’);R和S中必有公共属性,
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/528146/viewspace-668452/ ,如需转载,请注明出处,否则将追究法律责任。