一、数据库概述

1. 用自定义文件格式保存数据的劣势:并发性差,查找数据的速度差。

2. DBMS(DataBase Management System数据库管理系统)和数据库。平时谈到“数据库”的含义(1)MSSQLServer、Oracle等某种DBMS;(2)存放一堆数据表的一个分类(Catalog)。

3. 不同品牌的DBMS有自己的不同特点:MYSQL(适合开发网站、速度快、不严格、可能会丢失数据)、MSSQLServer、DB2、Oracle、Access、Sybase等。

4. SQL      //指查询语句

SQLServer

MSSQLServer  //微软数据库

5. 除了Access、SQLServerCE等文件型数据库之外,大部分数据库都需要数据库服务器才能运行。学习、开发时是连接本机的数据库,上线运行时是数据库运行在单独的服务器。

二、数据库中的概念

1. Catalog(分类):(又叫数据库Database、表空间TableSpace),不同类的数据应该放在不同的数据库中:

(1)便于对各个Catalog进行个性化管理

(2)避免命名冲突

(3)安全性更高

2. Table(表):不同的东西放在不同的位置,不同类型的资料放在不同的“格子”中,将这种区域叫做“表”(Table)。不同的表根据放的数据不同进行空间的优化,查找方便。

3. 列(Column)、字段(Field)

三、主键(PrimaryKey):唯一标识数据行的列叫做主键

1. 主键就是数据行的唯一标识。不会重复的列才能当主键。没有特殊理由表都要设定主键。

2. 主键的两种先用策略:业务主键和逻辑主键

(1)业务主键是使用有业务意义的字段做主键,比如身份证号、银行账号等。

(2)逻辑主键是使用没有意义的字段做主键,完全给程序看的,业务人员不会看的数据,比如,流水号。因为很难保证业务主键不会重复(如,身份证号重复)、不会变化(如,账号升位,电话号码),所以推荐用逻辑主键。

四、表间关联、外键(ForeignKey)

最新文章

  1. SQL函数汇总【精选篇】
  2. [转]一个用户SQL慢查询分析,原因及优化
  3. React组件生命周期过程说明
  4. table变色
  5. 初探C++Primer(15.面向对象程序设计)
  6. 使用nodejs+express+socketio+mysql搭建聊天室
  7. 快速操作Linux终端命令行的快捷键列表
  8. Saltstack远程执行(四)
  9. C#MongoDB使用实践
  10. [原创]java WEB学习笔记49:文件上传基础,基于表单的文件上传,使用fileuoload 组件
  11. Android Thread.UncaughtExceptionHandler捕获
  12. ANDROID_MARS学习笔记_S04_007_从服务器获取微博数据时间线
  13. Nginx的安装及简单配置
  14. B507实验室打印机连接方法
  15. Android按下home键后重新打开app进入主activity的问题
  16. Java 获取窗口的宽、高
  17. PHP结合Vue实现上拉分页
  18. 主键非自增列 EF 插入数据库引起的 ID 列不能为 NULL 的错误
  19. const和volatile分析
  20. 放大镜Demo

热门文章

  1. jQuery中$.get()、$.post()和$.ajax()
  2. JavaScript 学习-变量的作用域和块级作用域
  3. Hadoop-CDH5.7.0 for CentOS7
  4. overload and overwrite in C++
  5. 基于memcached中命令分析函数tokenize_command改造的split函数
  6. python numpy 使用笔记 矩阵操作
  7. Logger之Logger.getLogger(CLass)
  8. redgate
  9. Callback函数详解(我感觉,回掉函数的本质是函数指针,在业务做循环处理的时候,调用一下通知外部)
  10. Children of the Candy Corn (bfs+dfs)