zoukankan      html  css  js  c++  java
  • 20131204-数据库基础

    [1]问题一:

    创建一个数据库有三个名字,一个是create后面的那个,一个是name=的那个,一个是filename=的那个,请问这三个名字有什么区别,都有什么不同的作用?

    网上答案:

    E:webpic1.jpg

     

    name="1.txt"

    filename="E:webpic1.jpg"

    逻辑文件名 pic/1.jpg

    create database emp --emp 数据库名称--DBMS里用的是这个名

    on --on 代表数据文件组

    ( --主要数据文件

        name ='emp_mdf', --逻辑名称

        filename= 'c:emp.mdf', --物理名称

    size =3mb, --初始大小

        maxsize = 10mb, --上限

        filegrowth =1mb -- 每次增长1Mb

    ),

    ( --次要数据文件

        name ='emp_ndf',

    filename='c:emp.ndf',

        size =3mb,

        maxsize =10mb,

        filegrowth =10%

    )

    log on --日志文件

    (

        name ='emp_ldf',

    filename='c:emp.ldf',

        size =3mb,

        maxsize =10mb,

        filegrowth =10%

    )

    go

    逻辑文件名是sql server内部存储的

    物理文件名是在操作系统中存储的

    逻辑文件名是数据库文件在数据库中显示的名字

    Name就是逻辑名,给用户看的

    FileName是文件名和路径

    总结:

    逻辑名字的理解

    一个数据库有一个名字,就是数据库名,那么数据库下面包含了多个磁盘文件,这些个磁盘文件,有具体的物理路径,比如:

     

    c:xxxyyydddabc.mdf

     

    但是为了方便你操作,比如你想把这个文件扩大到1GB,你没必要记住,这个文件到底是放到什么路径,这个时候你给他起了一个逻辑名字: name = abc

     

    于是下次操作的的时候,你直接指定name = abc的这个文件,size = 1024MB ,你不可能记得路径,因为路径很长的,这样不就简单了吗?

    ②create后面的名字--数据库名称 数据库名称--1、DBMS里显示的的是这个名;2、use语句用的是这个名字

    ③filename是在操作系统中存储的文件路径

    [2]

    ON [PRIMARY] 意思是将创建数据库产生的数据文件放在主文件组里,在sqlserver里数据文件分为主文件和附文件,你可以去安装目录里看下,会发现有MDF,ndf,LDF三种文件,分别是指主文件,付文件,日志文件。

    [3]

    --我要学习数据库了

    --暂时命名约定:①数据库名MyDBName②表名TName③列名StuId

    --20131206--郑承良--10:00

    --作业:

    --手写代码创建数据库 手写代码创建表

     

    --手写代码 往表里插入数据

    --手写代码 修改表里的数据

    --手写代码 删除表里的数据(三种形式)

    --手写代码查询这个表里所有的数据

    --鼠标点的方式 添加 约束(6个约束)

    --自己总结 主键 外键 主键表 外键表

    create database MyDBTest

    on primary

    (

    name='MyDBStudent_data',

    filename='D:DataBaseMyDBTest_data.mdf',

    size=5mb,

    filegrowth=1mb

    )

    log on

    (

    name='MyDBTest_log',

    filename='D:DataBaseMyDBTest_log.ldf',

    size=2mb,

    filegrowth=10%

    )

    use MyDBTest

    create table TStudent

    (

    StuId int identity(1,1) primary key,

    StuGender bit ,

    StuAge int,

    StuTel varchar(11),

    StuAddress nvarchar(50),

    ClassId int,

    )

    --插入数据练习

    --方式一

    select *from TStudent

    insert into TStudent(StuGender,StuAge,StuTel,StuAddress,ClassId )--命令单元空格无影响

    values( 1,23,15069891272,'山东省',2)--identity列插入时不用定义

    --方式二

    insert into TStudent(StuGender,StuAge,StuTel,StuAddress,ClassId)

    select 1,26,15069891272,'山东',3 union

    select 1,27,15069891272,'山东',4 union

    select 1,28,15069891272,'山东',5 union

    select 1,29,15069891272,'山东',6

    --更新数据

    update TStudent

    set StuAge=StuAge+1,ClassId=1

    where ClassId=2

    select *from TStudent

    --删除表里的数据

    --方式一

    --先插入数据

    insert Tstudent(StuAge,ClassId,StuAddress)

    select 2000,10,'火星' union

    select 2008,10,'水星'

     

    select *from TStudent

     

    delete from TStudent

    where StuAddress='水星'

     

    --先创建两个表

    create table TClass

    (

    ClassId int identity(1,2) primary key,--括号内,命令单元之间用逗号链接

    ClassAddress nvarchar(30)

    )

     

    create table TClass2

    (

    ClassId int identity(1,2) primary key,--括号内,命令单元之间用逗号链接;命令结束可以不用标点符号

    ClassAddress nvarchar(30)

    )

    insert into TClass(ClassAddress)

    select '金星' union

    select '木星' union

    select '水星'

    --方式二

    drop table TClass--表,没了

    select *from TClass

    --方式三

    insert into TClass2(ClassAddress)

    select '金星' union

    select '木星' union

    select '水星'

    truncate table TClass2--表还有,数据清空了

    select *from TClass2

    select* from TStudent

    drop table TStudent

    --删除总结:①delete 在表内一条一条的删除数据

             --②truncate在表内清空数据

             --③drop删除表(表都没了,数据也没了)

    --①非空约束 不让改的时候就工具选项,干掉勾

    --②主键约束(PK) primary key constraint 唯一且不为空

    --③唯一约束 (UQ)unique constraint 唯一,允许为空,但只能出现一次 右击,索引/键

    --④默认约束 (DF)default constraint 默认值

    --⑤检查约束 (CK)check constraint 范围以及格式限制 CK_TStudent_StuAge

    --⑥外键约束 (FK)foreign key constraint 表关系 右击--关系--外键关系

    --约束两个在设计上,一个在设计下,三个在右键里

        

    --主键

    --定义:唯一标识一条记录,不能有重复的,不允许为空

    --作用:用来保证数据完整性

    --个数:1个

    --外键

    --定义:表的外键是另一表的主键, 外键可以有重复的, 可以是空值    

    --作用:用来和其他表建立联系用的

    --个数:一个表可以有多个外键    

     

    有用的参考

    http://blog.csdn.net/sqlserverdiscovery/article/details/7786549

  • 相关阅读:
    css+ul+li方式 横向再纵向排列
    b表中有的塞给a表
    .net remoting的两种实现方式 cow
    Prism之Module cow
    2012项目总结 cow
    WCF学习笔记 cow
    也谈委托,事件和回调 cow
    理清apply(),call()的区别和关系 cow
    CLR via C#学习之线程栈,托管堆,值类型和引用类型 cow
    细说系列笔记 cow
  • 原文地址:https://www.cnblogs.com/CharlesZHENG/p/3527539.html
Copyright © 2011-2022 走看看