首页 > 代码库 > 数据库基础
数据库基础
数据库概念
数据库系统DBS
| 数据库管理系统DBMS |
数据库 | 库文件 | 存储数据信息 |
服务 | 操作数据库文件的唯一途径SQL server(MSSQL server) | |||
界面 | 显示 | |||
管理软件 |
结构化查询语言(Structured Query Language)简称SQL
数据库管理系统:Database Management System简称DBMS
数据库管理员(Database Administration)简称DBA,功能是确保DBMS的正常高效运行。
数据库分体验版(一般只安装库文件和服务)和正式版(授权使用)
**商业化运营禁止运用盗版
在正式团队开发时,一般只安装界面,登陆到服务器共同操作数据库,这样可避免每人的数据库不同而无法组合
SQL语言类别
SQL语句语言 | DDL | 数据定义语言 | Create drop alter(修改) |
DML | 数据操作语言 | C R U D(增删改查) | |
DCL | 数据控制语言 | Grant back |
SQL server2008模式:
2008 用的是:客户机/服务器(C/S)
还有另外一种模式:浏览器/服务器(B/S)
数据库文件:
***一个数据库最多可有32767个数据文件和32767个日志文件
名称 | 用途 |
| 扩展名 |
主文件 | 存储数据 启动信息 | 必须有且只能有一个 | mdf |
次要文件 | 存储主文件未存的数据 | 可有 可无 可多 可少 | ndf |
日志文件 | 记录操作信息 | 必有且至少有一个 | ldf |
一个文件或文件组只能用于一个数据库,不能用于多个数据库。
一个文件只能是某一个文件组的成员,不能是多个文件组的成员。
日志文件永远不能是任意文件组的成员。
数据信息和日志信息不能放在同一个文件或文件组中。
数据库系统模型
数据库系统模型 | 关系 | Relational Model |
层次 | Hierarchical Model | |
网状 | Network Model |
层次----网络----到70年代出现 关系
对关系型数据库的操作:选择(where限制) 投影(列) 连接(行)
数据库系统服务器类型:
- 数据库引擎:核心服务,是一个复杂的系统,负责数据的存储,处理和安全
- Analysis services:分析挖掘数据,支持本地多维数据集引擎,可使断开连接的客户端上的应用程序能够在本地浏览已存储的多维数据
- Reporting services:报表服务器管理工具
- Intergration services:负责数据的提取,转换和加载等操作,可以高效处理各种各样的数据源。例:Oracle,Excel,XML文档等
- SQL server compact edition:不是SQL server 2008 的组成部分,它是一种功能强大的轻型关系数据库引擎
数据库产品
公司 | 甲骨文 | IBM | 赛贝斯 | 微软 | My SQL |
产品 | Oracle | DB2 | Sybase Ase | Access | 开源DB |
Informix | Microsoft SQL server |
Microsoft SQL server2008 代码名称为:katmai
数据库包括系统数据库(自带)和用户数据库(用户创建):
系统数据库 | 类型 | 用途 | 逻辑名称 | 物理名称 |
Master | 存系统级信息,控制用户数据库及数据库管理系统的运行 |
| Master.mdf | |
| Mastlog.ldf | |||
Tempdb | 存所有临时信息,每次启动时重新创建为原始值 |
| Tempdb.mdf | |
| Templog.ldf | |||
Model | 模板数据库,新数据库的第一部分都是复制model中的内容创建 |
| Model.mdf | |
| Modellog.ldf | |||
Msdb
| 用于数据库管理系统的代理程序,负责存储调度,报警,作业等信息 |
| Msdbdata.mdf | |
| Msdblog.ldf |
单位换算
b位 B字节 KB MB GB TB
1B=8b 1KB=1024B B. KB. MB. GB. TB之间都是以二的十次方倍数递增
B字节是计算机运行的最基本单位。
笔记本分32位(4字节)和64位(8字节)系统,代表的是处理数据的能力。
图像分位图和矢量图:
位图由很多点拼起来,一位一个点,点有多少就代表像素有多大。
矢量图由线条组成,越放大,线条数越多,放大多少倍都不会出现点。(文件很大)
SQL server2008 的数据存储单位
- 页:最基本的单位。
8KB为一页,128页为1MB,开头是96B的标头,
表中每一行数据字节数不能超过8192-96 B (8192=1024*8)
- 区:管理空间的基本单位。
8个连接页为一个区,即64KB为一个区,16个区为1MB,
控制表和索引的存储 <64KB时存在混合盘,只有在64KB时才整存。
控制数据库的服务
运行cmd 控制板输入 net start MSSQLserver启动数据库
控制板输入net stop MSSQLserver关闭数据库
控制板输入net pause MSSQLserver暂停数据库
控制板输入net continue MSSQLserver继续数据库
语句前边加——是注释
数据类型
整型:int 每个int类型的数据按4字节存储,其中1位表示整数值的正负号,其他31位表示整数值长度和大小
Smallint每个smallint类型的数据按2字节存储,其中1位表示整数值的正负号,其他15位表示数值长度和大小
Bigint 每个bigint类型的数据占8个字节
Tinyint 0~255之间的所有的正整数 占一个字节
浮点型:real精确到第7位小数,占4字节
Flout精确到第15 位小数,占8字节
Flout(n)如果n的小数少于7,默认为real类型
N在7到15 之间,默认为flout类型
Decimal decimal[p[s]]p表示可供存储值的总位数(不包括小数点)缺省值为18,s表示小数点后的位数,缺省值为0
Numeric 暂无解释
逻辑型:bit 一个字节,值为0或1,如果输入其他值将默认为1,不能定义为null
字符型:char 定义为char[n]n表示所占的存储空间,范围1~8000
Nchar定义为nchar[n] n范围1~4000,带n表示采用Unicode标准字符集
Varchar定义为varchar[n] n范围1~8000
Nvarchar定义为nvarchar[n] n范围1~4000
日期时间型:datetime 公元1753-1-1 0:0到公元9999-12-31 23:59::59
Smalldatetime 存储范围1900-1-1到2079-6-6
文本图形型:text用于存储大量文本数据
Ntext 和text计量单位不同
Image用于存储大量的二进制数据,通常为图形等OLE和嵌入对象
用户自定义型:sysname
货币型 : money 此类型数据是一个有四位小数的decimal值,占8个字节,在数据前加上货币符号来区分国家,否则默认为
Smallmoney 存储货币范围小
二进制型:binary 定义为binary(n)n表示数据的长度取值为1~8000,输入数据时必须在数据前加OX作为二进制标识
Varbinary 定义为varbinary(n)
约束:
实施数据已执行和完整性的方法
关系模型提供了三类完整性规则
一:实体完整性 主键约束(pk)
- 主键列不能有重复值,空值。空值表明存在不可识别的实体。
- 主键能惟一区分每一行的数据。
- 一个表里只能有一个主键,但主键可以由多列共同组合成为复合键。
- 主键会自动排序。不能把自动增长列设为主键,自增长列填错一次加一行。
二:参照(引用)完整性 两个表中的主关键字和外表的外关键字的数据一致
主表的主键约束从表的外键(ek)
三:用户定义完整性
唯一性约束 :不能重,可以为空,不自动排序(uk)
检查约束 :(check)
缺省约束 :
数据库原理:
范式:分1范式
2范式:部分依赖
3范式:传递依赖
做编程要考虑的因素:
数据易读性
数据易维护,扩展
安全性
效率
数据库基础