数据库模式是什么?

数据库模式是描述整个数据库的数据结构和数据库底层架构的事务。它分为逻辑模式(俗称:“模式”),外模式(俗称:“子模式”or“用户模式”),内模式(俗称:“存储模式”)。逻辑模式是描述数据库中全体数据的逻辑结构和特征、外模式是描述数据库用户能够看见和使用的局部数据的逻辑结构和特征、内模式描述了数据的物理结构和存储方式,是数据在数据库内部的表示方式。

数据库关系模式是什么?

它所指待的是对每个表或者是字段之间存在关系的描述。譬如一个数据表class里面有三个字段,姓名name,年龄age,性别gender(PS:Sex带有不文雅的意思所以不建议使用)。那么我们可以得出如下的关系模式:class_schema=(name,age,gender);这只是一个简单的关系,如果是多个表联系,那么关系模式是有很多个的。关系模式形式化表示为:R(U,D,dom,F):R是关系模式的名字,U指属性名集合,D指属性集合U的域(范围),dom指属性向域的映象集合,F指属性间数据依赖关系集合;通常可以简写为R(U)或R(A1,A2,…,An);

码,码,码?

码相当与身份识别器,而码又分为很多种:超码,主码,外码,候选码。超码是一个或者是多个属性的集合,而这个组成的超码集合可以唯一的标识出某条数据(元组)。譬如本人的身份证号码可以是一个超码,可以确认你的信息。而你的身份证加姓名也可以组成一个超码;同样可以确认你的信息。但是你的名字是不能做为超码的,有很多同名的。例如我的名字廖君,而还有一个女歌手也叫廖君;

候选码:上面那个例子中,假如就两个人。假如不考虑身份证,那么我们要区分还可以用性别(我是男的).那么这个性别就在这里可以当作候选码。(这只是一个比如)

外码:外码就是另外一个关系模式的主码。譬如我们学校有两个叫廖君(还真有一个老师,一个就是我)。但是我们需要区分开来谁是老师,谁是学生。那么我就需要一个表来记录,数字1是老师,0是学生。现在在我的数据里面添加一条身份代码:0,那么这个身份代码就是一个外码。

主码很简单,相当与你本人的身份证号码。(正常身份证)不需要其他额外的标识符就可以确认你的信息;

转载于:https://my.oschina.net/websec/blog/159899

初探mysql数据库模式(一)相关推荐

  1. mysql数据库模式

    开发中遇到的问题,后查资料解决. mysql对于错误数据的插入可以做容错处理,比如字段超长,可将截短后的数据插入.然后给出警告. 这些都依赖于mysql 的sql_mode. 查看sql_mode 查 ...

  2. MySQL数据库模式_SQL模式

    文章目录 查看 MySQL 当前的 SQL 模式 设置 MySQL 的 SQL 模式 SQL 模式介绍 TRADITIONAL(传统模式) STRICT(严格模式) ANSI 模式 MySQL 服务器 ...

  3. MySQL数据库模式(SQL_MODE)中的STRICT_TRANS_TABLES和STRICT_ALL_TABLES

    - Innodb Myisam STRICT_TRANS_TABLES 无论插入单行或是多行,只要插入数据与字段类型不兼容,则insert操作失败并回滚 插入单行数据与字段类型不兼容,则insert操 ...

  4. mysql 命令行访问_Mysql 命令行模式访问操作mysql数据库操作

    使用环境 在cmd模式下输入 mysql --version (查看mysql安装的版本). 完整的命令可以通过mysql --help来获取. 本测试使用的Mysql版本是mysql5, 本测试使用 ...

  5. mysql数据库管理系统模式_MYSQL命令行模式管理MySql的一点心得

    MYSQL命令行模式管理MySql的一点心得 MYSQL命令行模式管理MySql的一点心得 MySql数据库是中小型网站后台数据库的首选,因为它对非商业应用是免费的.网站开发者可以搭建一个" ...

  6. mysql数据库的三级模式_2016年计算机三级MySQL数据库试题

    2016年计算机三级MySQL数据库试题 一.选择题 1.E-R图提供了表示信息世界中实体.属性和________的方法. A.数据 B.联系 C.表 D.模式 2.数据库系统的核心是________ ...

  7. mysql引擎模式_mysql引擎,完整的见表语句,数据库模式, 常用数据类型,约束条件...

    引擎 show engines : 查看引擎 innodb(默认引擎):支持事务,行级锁,外键myisam:查询效率由于innodb,不需要支持事务,行级锁,外键,可以选用myisam来优化数据库 m ...

  8. MySQL数据库的设计和命令行模式下建立详细过程

    1.数据表的设计 MySQL数据库管理系统(DBMS)中,包含的MySQL中定义数据字段的类型对你数据库的优化是非常重要的.MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类 ...

  9. java计算机毕业设计BS模式快递运输平台2021源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计BS模式快递运输平台2021源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计BS模式快递运输平台2021源码+mysql数据库+系统+lw文档+部署 本源码技 ...

最新文章

  1. AI做不了“真”3D图像?试试Google的新生成模型
  2. http2.0的时代来了
  3. ubuntu下matplotlib 升级
  4. conda和pip的区别
  5. java tcp怎么拆包_Java网络编程基础之TCP粘包拆包
  6. nginx与PHP配置
  7. lynx命令调用php脚本,lynx
  8. Springboot的工作机制:2 @SpringBootApplication背后的秘密
  9. CSS实现简单的3D旋转魔方
  10. 1461错误,nbsp;mysql_stmt_prepa…
  11. 织梦CMS建站入门学习(二)
  12. Linux系列教程虚拟机安装虚拟化开启
  13. 一些简单常见的网站反爬策略和解决办法
  14. 在一个项目上跑起来Docker(goland)
  15. 信息系统项目管理师教程读书笔记(八)
  16. Python numpy.digitize函数方法的使用
  17. “10分钟把这个菜单整理成 Excel”,不会编程的老板发话了。
  18. Java+spring boot+mybatis plus+redis实现企业微信扫码登录并同步通讯录到数据库表中
  19. 神经网络的权值,到底该怎么调整呢?
  20. springboot定时任务出错 Unexpected use of scheduler.

热门文章

  1. codeforces 650B - Image Preview
  2. git 如何删除本地创建的仓库(转载自 https://segmentfault.com/q/1010000002996177?_ea=262685)...
  3. 第一次写python
  4. stmmac描述符的结构和初始化
  5. 学习Java的深拷贝和浅拷贝
  6. sleep()和yield()
  7. Java8对List<Integer>的求和
  8. git push前请先git pull
  9. 通过福禄克LinkIQ网络电缆测试仪排除 VLAN 故障
  10. 计算机系统基础:设备管理采用的相关技术知识笔记