---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
数据概述:
DBMS(DataBase ManagementSystem 数据库管理系统)和数据库,平时谈到的“数据库” 可能有两种含义;Ms Sql ServerOracle
不同品牌的数据库:MYSQL,Ms Sql Server DB2,Oracle,Access,Sybase对开发人员来讲,大通小异
SQL<>SQL server <>MsSql Server 常见的错误说出完整的厂商名字
出了Access Sql Server 等文件型的数据之外,大部分数据库都需要数据服务器才能运行,在运行之前,或开发前,连接本地数据,上线运行时是数据库在单独的服务器
数据库中的概念:
1:Catalog(分类)(又叫数据库DataBase,表空间TableSpace)不同类的数据应该放到不同的数据中
A:便于对各个Catalog进行管理
B:避免冲突
C:安全性
2:Table(表)Column(列)Field(字段)
主键:(PrimaryKey)
主键就是数据行的唯一标示,不会重复的列才能当主键,一个表没有主键,但处理起来会非常困难,因此,没有特殊理由表都要设主键
主键有两种策略:
A:业务主键->业务主键使用有业务意义的字段做主键,比如身份证,银行账号
B:逻辑主键->没有任何业务意义的字段做主键,完全给程序看的,业务人员看不到,因此很难保证业务主键不会重复(身份证号重复),不会变化(账号什位),因此推荐使用逻辑主键
表间关联,外键(ForeignKey)
SQL Server的管理
1:需要安装SQL Server2005或者SQL Server2008,若要使用Sql server管理工具进行开发还要安装SqlServer Management Studio 还以使用VisualStudio进行管理
2:使用免费的Sql Server Express版本,Express版本的服务器名称.\SQLEXPRESS,对于开发人员来讲,和其他版本没有区别
3:sql server 的两种验证方式,用户名验证和Windows验证,开发时用Windows验证就行
4:开发人员关注在开发,而不是配置,备份等上,那是DBA做的事
5:常用字段:bit(可选值0,1)datetime,int varchar,navrchar(可能含有中文用nvarchar)
6:varchar(不含英文),nvarchar(中文)和char(n)的区别:char(n)
7:Nvarchar(50)Nvarchar(Max一篇文章)
不足长度为n的部分用空格填充
SQL 语句入门
1:sql 语句是和dbms交谈专用的语句,不同的dbms都认sql语句
2:sql语句中的字符串是用单引号
3:sql语句是大小写不敏感的,不敏感是指SQL关键字,字符串值还是大小写敏感的
4:创建表,删除表不仅可以手工完成,还可以通过sql语句来完成,在自动化部署,数据导入中用的很多,create table T_Person(Id int not null,Name nvarchar(50),Age int Null),DropTable T_Person(删除表)
5:简单的instre into T_Person(id,Name,Age) values(1,‘Jim‘,20)
6:sql主要分DDL(数据定义语言)和DML(数据操作语言)两类。Create Table,Drop Table等属于DDL select,insert等属于DML
创建表的语法:CREATE TABLE T_Person(id int not null,name nvarchar(50) not null,ageint not null)
插入语句:INSTERINTO T_Person(id,name,age) values(1,’wangcs’,26)
删除表:dropTabel TableName
那些数据可以设主键:
1:只有两种数据比较合理做主键(int/bigint)uniqueidentfier(又称Guid uuid)
2:用标识列实现字段可以避免并发等问题,不要开发人员控制自增,用标识列的字段在Inster的时候不用指定主键
3:Guid算法是一种可以产生唯一标识列的高效算法,它使用网卡MAC,地址,纳秒级时间,芯片ID码等算出来,这样保证每次生成的GUID永远不会重复,无论是在同一个计算机还是不同的计算机,在公元3400年以前产生的GUID与任何其他产生过程中的GUID都不同,QSL server中产生的Guid的函数为newid(),.net生成Guid的方法:guid.newGuid() 返回的是Guid类型
Int 自增字段 的优点:占用空间小,无需开发人员干涉,易读,缺点:效率低,数据导入导出时候不方便
Guid优点:效率高,数据导入导出方便 缺点:占用空间大,不易读
业界主流倾向于Guid
标识类设置为自动增长,一个表中只有一个标识字段,主键设为标识字段,
Sql server 中产生guid :Select newid();
C#中:Guid id = Guid.NewGuid();
数据插入:inster into Table(列名)values(值)
:insterinto Table values(值)表名后的列名可以不写,但不建议,一般有id主键,就可以不写ID这个列名,如果用guid做主键,当插入的时候,不会按着出入的顺序显示,可以个字段设定默认值
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 详细请查看:http://net.itheima.com/