码迷,mamicode.com
首页 > 数据库 > 详细

sql

时间:2017-11-11 11:36:35      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:效率   obj   sts   变量赋值   visio   空值   椭圆   cin   mdf   

                                第一章数据库的设计
    
 
    x-y数据的几种关系
          有四种方式:
       一对一:假设每一辆个停一个车位,每一辆车停一个车位    1:1
 
           一对多:x中的一个实体y中的任意数量就是说一个客房可以住多个客人就是一对多   1:N
 
           多对一:客房可以住多个客人就是一对多反过来说就是客房实体之间就是多对一关系   N:1
 
       多对多:图书可以借给多个读者,读者可以借阅多本书,图书和读者就是多对多的关系    M:N
 
 
    1.第一范式:的目标是确保每列的原子性,如果每列或者多个属性值都是不可再分的最小值
        数据单元  满足第一范式
 
 
         2.第二范式
     第二范式(2NF)在第一范式的基础跟进一步其目标是确保中的每列都和主键相关如果满足
    第一范式并且除了主键以外的其他都依赖该主键,者满足第二范式
 
 
    3.第三范式
    第三范式(3NF)在第二范式更进一步 如果满足主键 的列与列之间的相互依赖则满足第三范式
 
    E-R图就是关系图  有属性值  有实体  有连接线  用形状描述的图行叫E-R图
    设计E-R图的作用就是可以看清楚图行中的系统需要什么样的属性  需要什么要的实体和连接什么样的
    实体相连和关系位置一眼看清
 
    设计数据库的步骤:
    1.信息重复    2.更新异常     3.插入异常   4.删除异常   
 
 
         绘图的进本操作  
             属性   表示椭圆        有联系表示菱形    实体是指 一种一行特定的数据,但是我们开发时,也常常把一个表称为一个实体  表示一个  矩形 
 
 
       数据的重复被称为冗余  pk 表示主键        标识就是设置主键
 
       E-R视图就是 绘图        visio2007绘图工具     在创建数据库的时候我们要经过绘图 绘图可以让我们的思路更加清晰 让我们的效率更加有所提高
 
        实体: 可以这么理解就是一个孩子叫宝宝 他是人  就是一个实体
        属性: 属性就是一个游戏中有角色  角色有武器  和装备  和名字  就是属性
        联系: 可以这么理解一个男孩子和女孩子是情侣关系就是联系
 
 
 
                          第二章  数据库的实现
 
    INSERT [INTO] 表名 {列名1,列名2}  
    select   ‘张可‘,7,1  UNION
    select   dasd‘   4,0  UNION
    select   ‘gds‘.   5,0
 
  删除表中数据
   truncate table PurchasepaymentItem
 
    insert  表名  vaLues{值一,值二.....}
    其中  INTO  可选  ‘ ‘   union  
 
    修改数据 
    update  表名   set 列=更新值   where (更新条件)
 
    update     表名     set StudentName=‘葛天中‘ where   StudentName=‘王小毛‘
 
    查询数据 SELECT * FROM  表名   查询表所以列  *
 
    单条插入
    insert into 表名(字段1,字段2……) values (内容1,内容2……);
    
    SELECT 列名1,列名2....FROM 表名 where [条件]  ORDER  BY  表名   按升序排列
 
            like  模糊查询
 
   --使用like  进行模糊查询
 
            select * from Student where StudentName like ‘%木%‘
 
    删除语句
    DELETE FROM  表名  WHERE 条件 +id+
    delete 表名 where 条件  列 =什么?
 
    主数据文件   *.mdf
    次数据库文件  *.ndf
     日志文件  *.ldf
 
 
    创建数据库  基本步骤
    CRATE  DATABASE 数据库名 
 
        ON[PRIMARY]--可以省略
        {
 
        <数据库参数> [,....n] [<文件组参数>]
        NAME=‘MySchool_data‘,  文件组名
        FILENAME=‘D\project\MySchool_data.mdf‘, 储存IP地址
        SIZE=5MB, 初始化的文件大小
        MAXSIZE=100MB, 最大值为100
        FILEGROWTH=15% 文件的增长率
 
        }
 
          LOG ON
        {
        (<日志文件参数>[.....n])        
        日志文件的具体描述,各参数含义同上
        NAME=‘MySchool_log‘,  文件名
        FILENAME=‘D:\project\MySchool_log.ldf‘, 储存的Ip地址    
        SIZE=2MB,初始化的大小
        FILEGROWTH=1MB  增长的量
 
 
        }
 
 
        ((NAME=逻辑文件名))
        FILENAME=物理文件名
        [,SIZE=大小]
        [,MAXSIZE={最大容量|UNLIMITED}]
        [,FILEGROWTH=增长量])[.....n]
 
    PRIMARY:选择项目是一个关键字,指定主文件组中的文件
    LOG ON:指明事物日志文件的明确定义
    NAME 指定数据库的逻辑名称,这是在sqlServer中使用的名称,是数据库在sqlServer中的标识符
    FILENAME:指定数据库所在文件名称和路径,改操作系统文件名和NAME的逻辑名称一一对应 
    size:指定数据库的初始化容量大小
    MAXIZE:指定操作系统文件可以增长到的最大值
 
 
        文件日志有分号隔开()   
 
    删除数据库 的基本语法  DROP database 数据库名
    删除表  的基本语法  DROP  table 表名
    整型: int  smallint  tinyint  
    浮点型 feal 近似值类型  float 近似数值类型  deimal固定精度和范围是小数点左右
    字符型:varchar text char  
    带n的表示unicode的字符编号  带var表示长度可变  nvarchar   varchar  的区别
    nvarchar 的固定长度是 unicode 的字符编码级   长度不可变是固定值    可以最大值8000个字符
    varchar 可以表长度 长度  不是unicode的字符编码级  可与最大4000个字符 
 
                            约束
    主键约束(primary  key   constraint) 要求主键列的数据唯一  并且不允许为空  如学号能唯一确定一名学生
    非空约束(Not  Null) 要求列不能存在空值,如学生的姓名不能为空
    检查约束 (Check Constraint)要求某列的取值范围限制,格式限制等 如有关年龄的约束
    唯一约束  (Unique Constraint)要求该列的值必须唯一 允许为空但是能出现一个空值
    默认约束  (Default Constraint)某列的默认值,如男性学生较多该性别默认为男"男",
    外键约束  (Foreign  Key  constraint)用于在两表之间建立关系 需要指定引用主键表的那一列
 
    --添加主键约束将 (Student 作为主键)
   ALTER  TABLE Student
   ADD  constraint  pk_StudentNo  primary  key  (StudentNo)
 
  --添加唯一约束  (身份证号唯一,因为每个人的身份号全国唯一的)
 AlTer  Table  student
 ADD  constraint  UQ_IdentitCard  uNIQUE    (identitCard)
 
  --添加默认设置(如果不填定地址,默认认为“地址不详”)
  AlTER   table  student
  ADD  constraint   DF_Address  default (地址不详) FOR Address
 
 --添加检查约束 (要求出生日期在1980年1月1日之后) 
ALTER  TAble  student
ADD  Constraint  CK_BornDate  CHECK  (BornDate >=‘1980-01-01‘)
 
 
--添加外键约束 (主表和从表Result 建立关系,关联列为StudentNo)
Alter  table  student
ADD  constraint  FK_StudentNo  foreign KEy(StudetNO)  PrFERENCES  Student(StudentNo)
Go
 
 非空约束  是在键表时自己定的 
 
    删除约束
     语法 
    ALTER table 表名
    DROP   constraint    约束名
 
 
    --添加主外键
alter table DEPT add constraint PK_deptno primary key(deptno);
alter table EMP add constraint  PK_empno  primary key(empno);
alter table EMP add constraint  FK_deptno foreign key(deptno) references DEPT(deptno);
 
 
 
    DOP  DATABASE   数据库名
    DOP   table      表名
 
 
 
 
  主数据 添加约束  ALTER  TABLE   表名 studnet
 
  ADD  conStraint  约束名 CK_你的列名   约束类:primary  key(你的列名)
 
  当然不同的约束添加的东西也就不一样  想检查约束要给判断值 添加外键约束就要给表中的关联建立好关系
 
 添加默认值就要给默认值  DEFAULT (‘地址不详‘)for Address
 
 
    删除的约束
 
  Alter  table  表名 Student
 
  drop  constraint  约束名  约束列名就可以了
 
 
 
  --创建表如果表中有数据就删除  可以一值执行此命令
 
   use  Master
   use  MySchool
        
        GO
 
if  ExisTs(SElect  * from  sysobjects  WHERE   Name=‘Student‘)
   DROP  Table   student
  CREATE  Table student (
  
    ......... 
   变量命名   数据类型  Not  null ,
   StudentID    int    Not  null,
  
    )
 
                      第三章 SQL  编程
 
  1.使用变量
 
      在sqlserver 中声明变量必须遵循变量前加上 @符号  如果加上两个@@个符号  就是系统变量
 
     declare   @name varchar(8)  声明变量并且给变量类型
 
      set   @name=‘帅哥‘  给变量赋值
      Select  @name=‘帅哥‘  给变量赋值    给变量赋值有两种方式
 
      print   @name      有两种显示方式  一种是消息框弹出 
 
      SELECT  @name       还有一种是  表格框弹出
 
 
                        SET      和         SELECT  的语句区别    
          SET       SELECT
同时对多个变量值         不支持         支持
表达式返回多个变量时         出错  将返回的最后一个值   赋给变量
表达式未返回多个值      变量被赋值为NUL   变量保持原值
 
 
 
 
         GO
      declare  @linxin varchar(10)
      set @linxin=‘90‘
 
      IF(@linxin>85)
       BEGIN
         print ‘老师奖励一部iphone6s‘
         END
      ELSE
 
       BEGIN
       print ‘罚抄试卷10遍‘
 
       END
 
      GO
 
 
 
   if  选择结构   当数据大也85就执行第一条语句  假若85>变量的话 就执行第二条语句
   因为只会 else 不会进行判断
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

sql

标签:效率   obj   sts   变量赋值   visio   空值   椭圆   cin   mdf   

原文地址:http://www.cnblogs.com/linnew/p/7818244.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!