数据库学习笔录

概念数据模型 
  实体联系(Entity Relationship)模型,简称ER模型。
 1.实体表示现实世界中客观存在的可以相互区别的事物。
   2.联系是实体之间的相互关系.
      如:在一张订单中涉及商品,客户和销售员之间的关系,即某个客户从某个销售员手里订购某件商品.
   3.属性是描述实体或联系中的一种特征.
   4.码或称键,关键字,是实体间相互区别的一种惟一标识.
         在实体中能作为码的属性称为主属性(Main Attribute),否则称为非主属性.        
   5.域(Domain)是实体中相应属性的取值范围.

   ER模型是一种用图形表示数据及其联系的方法,所使用的图形构件(元件)包括矩形,菱形,椭圆形和连接线.

         a.  矩形表示实体,矩形框内写上实体名.
         b.  菱形表示联系,菱形框内写上联系名.
         c.  椭圆形表示属性,椭圆形框内写上属性.
         d.  连接线表示实体,联系与属性之间的所属关系或实体与联系之间的相连关系.


  关系数据模型
     每个二维表称做一个关系,一个二维表的表头,即所有列的标题称为关系的型(结构),  其表体(内容)称做关系的值.
     关系中的每一行数据(记录)称做一个元组. 每一列数据称做一个属性,列标题称做属性名.
     在一个关系中,每一个元组的各属性值的含义必须按该项属性的定义来解释才是有效的.

  关系数据结构
     关系模式(relation schema)是一个关系的具体结构,它通常被形式化定义为R(U,D,DOM,F,I)
     其中R为关系名,
           U为该关系中的所有属性名集合;
           D为该关系的所有定义域的集合;
           DOM为属性向域映射的集合,它给出属性和域之间的对应关系,即哪个属性属于哪个域;
           F为该关系中各属性之间的数据依赖的集合;
           I为该关系中所定义的完整性规则的集合;
    例:   假定有一个学生关系模式,它的属性名集合U为{学生号,姓名,性别,年龄,专业}
           Student(Number,Name,Sex,Age,Course)     
          主属性:主码
          非主属性:一般属性
   关系模式只一个关系的框架,具有该框架结构的所有元组才是该关系的值,,或者说是该关系的内容.


   码(KEY)
        超码(SUPER KEY)关系中能惟一标识每个元组的属性或属性组(集)  一个关系可能有多个超码;
        候选码(CANDIDATE KEY)关系中能惟一标识每个元组的最少属性或属性组 一个关系可能有多个候选码;
        主  码(Primary Key)从候选码中选择一个作为该关系的主码,数据库系统奖按主码标识和排序每个元组. 一个关系在任一时刻至多只能有一个主码,但在不同时刻可以指定不同的候选码作为主码.
        备用码(Alternate key) 除了主码之外的所有候选码都是该关系的备用码.
        外  码(Foreign Key)在关系R1中的属性或属性组若在另一个关系R2中作为主码使用,则称该属性或属性组为R1的外码. R1的外码和R2中的主码必须定义在相同的域上,允许使用不同的属性名.
   
    关系完整性就是关系模型中的数据的正确性,一致性和有效性.
    关系完整性包括实体完整性,参照完整性,用户定义的完整性.
     
  1.实体完整性(Entity Integrity)
     规则:关系的主码不能到空值 
  2.参照完整性(Refrence Integrity)
     规则:在参照和被参照两个关系中,参照关系中每个元组的外码或者为空, 或者等于被参照关系中某个元组的主码.
  3.用户定义的完整性(used-defined integrity)
     规则:对每个关系每个属性的取值限制(或称约束)的具体定义.


   

     数据依赖(函数依赖)


    关系规范化
      第一范式(First Normal Form)
        设一个关系为R(U), 若U中的第一个属性都是不可再分的,或者说都是不被其他属性所包含的独立属性.       
      第二范式
        设一个关系为R(U), 它是满足第一范式的,若R中不存在非主属性对候选码的部分函数依赖.
      第三范式
         设一个关系为R(U), 它是满足第一范式的,若R中不存在非主属性对候选码的传送函数依赖.
         消除关系中的传递依赖也是通过关系分解的方法的方法来实现的.

   关系规范化的过程就是合理分解关系的过程,就是概念单一化的过程,就是把不适当的属性依赖转化为关系联系的过程。
   在建立和设计数据库应用系统时, 要切记概念单一化的原则,即用一个关系反映一个对象(实体或活动),每个关系的所有属性都是对主码的具体描述,或者说都是依附于主码的,另外在必要时附加一些联系属性,作为外码使用。
















 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 系统概述 本系统是一款基于Python语言的笔录辅助系统,能够帮助用户轻松地记录会议、讲座、谈判等场合的笔录内容,并能够对笔录进行分类、搜索、导出等操作,提高笔录的管理效率和利用价值。 2. 系统功能 (1)新建笔录:用户可以通过系统新建一个笔录,输入笔录名称、时间、地点等基本信息,并逐步输入笔录内容; (2)分类管理:用户可以将笔录按照不同的分类进行管理,如会议笔录、讲座笔录、谈判笔录等; (3)搜索功能:用户可以通过关键词搜索笔录内容,系统能够快速定位到相关笔录; (4)导出功能:用户可以将笔录导出为Word、PDF等格式,方便分享和保存; (5)权限管理:系统管理员可以对用户进行权限管理,限制用户对笔录的访问和修改权限。 3. 系统架构 本系统采用B/S架构,前端使用HTML、CSS、JavaScript等技术实现页面展示,后端使用Python语言实现业务逻辑处理和数据存储,数据库采用MySQL。 4. 系统流程 (1)用户登录系统; (2)用户进入主界面,可以进行新建笔录、分类管理、搜索、导出等操作; (3)用户新建笔录时,输入基本信息,并逐步输入笔录内容; (4)用户可以对已有笔录进行分类管理,将笔录按照不同的分类进行归档; (5)用户可以通过关键词搜索笔录内容,系统能够快速定位到相关笔录; (6)用户可以将笔录导出为Word、PDF等格式,方便分享和保存; (7)系统管理员可以对用户进行权限管理,限制用户对笔录的访问和修改权限。 5. 系统实现 本系统采用Python Flask框架实现后端业务逻辑,使用MySQL数据库存储笔录数据。前端使用Bootstrap框架实现页面展示,采用Ajax技术实现前后端数据交互。 6. 系统优化 (1)采用分布式架构:将系统拆分为多个模块,提高系统的可扩展性和可维护性; (2)引入机器学习算法:通过机器学习算法对笔录进行自动分类和关键词提取,提高系统的智能化程度; (3)引入语音识别技术:通过语音识别技术将语音转化为文本,提高笔录的录入效率和准确率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值