SQL从入门到基础 - 01 数据库开发及ADO.Net
一、数据库概述
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)
最新文章
- SQL函数汇总【精选篇】
- [转]一个用户SQL慢查询分析,原因及优化
- React组件生命周期过程说明
- table变色
- 初探C++Primer(15.面向对象程序设计)
- 使用nodejs+express+socketio+mysql搭建聊天室
- 快速操作Linux终端命令行的快捷键列表
- Saltstack远程执行(四)
- C#MongoDB使用实践
- [原创]java WEB学习笔记49:文件上传基础,基于表单的文件上传,使用fileuoload 组件
- Android Thread.UncaughtExceptionHandler捕获
- ANDROID_MARS学习笔记_S04_007_从服务器获取微博数据时间线
- Nginx的安装及简单配置
- B507实验室打印机连接方法
- Android按下home键后重新打开app进入主activity的问题
- Java 获取窗口的宽、高
- PHP结合Vue实现上拉分页
- 主键非自增列 EF 插入数据库引起的 ID 列不能为 NULL 的错误
- const和volatile分析
- 放大镜Demo
热门文章
- jQuery中$.get()、$.post()和$.ajax()
- JavaScript 学习-变量的作用域和块级作用域
- Hadoop-CDH5.7.0 for CentOS7
- overload and overwrite in C++
- 基于memcached中命令分析函数tokenize_command改造的split函数
- python numpy 使用笔记 矩阵操作
- Logger之Logger.getLogger(CLass)
- redgate
- Callback函数详解(我感觉,回掉函数的本质是函数指针,在业务做循环处理的时候,调用一下通知外部)
- Children of the Candy Corn (bfs+dfs)