数据库,简而言之可视为电子化的文件柜——存储电子文件数据的处所,用户可以对文件中的数据运行新增、提取、更新、删除等操作。
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,随着信息技术和市场的发展,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。
三范式(规范):
要想满足第二范式,必须先满足第一范式。
要想满足第三范式,必须先满足第二范式。
第一范式:列数据不可分割。每一列都是不可分割的原子数据项,而不能是集合或数组,记录等非原子数据项。即实体中的某个属性有多个值时,必须拆分为不同的属性。在符合第一范式(1NF)表中的每个域值只能是实体的一个属性或一个属性的一部分。简而言之,第一范式就是无重复的域。
第二范式:主键,非键字段必须依赖于键字段。
要求数据库表中的每个实例或记录必须可以被唯一地区分。选取一个能区分每个实体的属性或属性组,作为实体的唯一标识,即为主键。
第三范式:外键。第三范式是第二范式的一个子集,即满足第三范式必须满足第二范式。简而言之,第三范式(3NF)要求一个关系中不包含已在其它关系已包含的非主关键字信息。简言之,第三范式就是属性不依赖于其它非主属性,也就是在满足2NF的基础上,任何非主属性不得传递依赖于主属性。
下面总结一下基础:
1、创建数据库
create database database_name
2、删除数据库
drop database dbname
3、创建新表
create table tabname(col1 type1 [not null] [primarykey],col2 type2 [not null],..)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2 from tab_old definition only
4、删除新表
drop table tabname
5、增加一个列
Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
6、添加主键: Alter table tabname add primarykey(col)
删除主键: Alter table tabname dropprimary key(col)
7、创建索引:create [unique] index idxname ontabname(col….)
删除索引:drop index idxname
索引是不可更改的,想更改必须删除重新建。
8、创建视图:create view viewname as selectstatement
删除视图:drop view viewname
几个简单的基本的sql语句:
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1where 范围
查找:select * from table1 where field1 like ’%value1%’
排序:select * from table1 orderby field1,field2 [desc]
总数count、求和sum、平均avg、最大max、最小min。
1、说明:使用外连接
A、left (outer) join:
左外连接(左连接):结果集既包括连接表的匹配行,也包括左连接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFTOUT JOIN b ON a.a = b.c
B:right (outer) join:
右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
C:full/cross (outer) join:
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
2、分组:Group by:
一张表,一旦分组 完成后,查询后只能得到组相关的信息。
组相关的信息:(统计信息) count,sum,max,min,avg分组的标准。
在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据。
在selecte统计函数中的字段,不能和普通的字段放在一起。
3、对数据库进行操作:
分离数据库: sp_detach_db;附加数据库:sp_attach_db 后接表名,附加需要完整的路径名。
4、关于排序order
a.对于排序order,有两种方法:asc升序、desc降序。
b.对于排序order,可以按照查询条件中的某项排列,而且这项可用数字表示。