数据模型

数据模型

1、概念模型,以客户的观点和想法为基础,对现实事物的抽象

2、逻辑数据模型,数据库中的数据模型——关系数据模型

3、物理模型

概念模型:E-R图

E:实体 R:关系

一对一的关系:一个学校就一个校长
一对多的关系:一个专业有多个学生
多对多的关系:课程和授课老师 (Java 张 邓 王) 张 (Java H5 Android 开车)

表示:可以用矩形表示实体,菱形表示关系,椭圆表示实体的特征(属性)

关系数据模型

通过一个二维表描述关系数据模型。用行来表示具体的数据,列表示特征(属性)

1、每个属性不能再分
2、关系数据模型中的二维表,不会有重复的行

对于数据库二维表的运用,主要涉及查询、连接、交、并、插入、修改、删除等这些操作,常用的四种“增、删、查、改”

表相关的知识

主键:为了保证在一张表中,不会出现两个完全相同的数据,主键唯一并且非空

外键:用来定义表与表之间的关系的属性,如学生表有学号,课程表有课程编号,要表示学生成绩时,可以建立一个成绩表,属性有学号、课程号、分数,其中的课程号(引用自课程表)和学号(引用自学生表)属于外键

约束:保证数据的完整性,限制属性,常用的约束有:

唯一约束(unique)、主键约束(primary key)、外键约束(foering key)、
检查约束(check)、非空(not null)
数据库属性(字段)类型:
字符串:varchar(30)
整型:int 
浮点数:float
日期:date datetime
二进制数据:blob
建表
create table 表名(字段1 类型1 [约束],字段2 类型2 [约束]...)

    如:学生表(stuInfo): stuId 整数 主键 
                stuName 字符串 非空
                age 整数 
                sex 字符串(2) 
                birth 时间

    create table stuInfo 
        (stuId int primary key,
        stuName varchar(30) not null,
        age int,
        sex varchar(2),
        birth datetime)

    课程表(curInfo):课程编号curId,课程名称curName,课时curTime,学分credit(3-8分)

    create table curInfo(
        curId int primary key,
        curName varchar(30) not null,
        curTime int not null,
        credit int,
        check(credit between 3 and 8)
    )

    联合主键(由多个字段组成的主键),如成绩表(stu_score)
    学号(stuId)、课程号(curId)、成绩(score)
    create table stu_score(
        stuId int,
        curId int,
        score int not null,
        primary key(stuId,curId)
    )
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值