好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数据库面试准备.doc

13页
  • 卖家[上传人]:ni****g
  • 文档编号:435454385
  • 上传时间:2023-11-07
  • 文档格式:DOC
  • 文档大小:100.01KB
  • / 13 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 面试准备之SQL 111. 设计数据库的步骤:(1).需求分析阶段(2).概要设计阶段:绘制E-R模型图(3).详细设计阶段:E-R模型图转换为数据库表(4).代码编写阶段(5).测试阶段(6).部署安装 2.概要设计阶段:(1).收集信息(2).标识对象(3).标识每一个对象需要存储的详细信息(4).标识对象之间的关系如:第一步我们一般是看需求分析文档,然后第二步找出实体 第三步设置对应的实体类的属性 最后就是设置各个实体之间的关系(比如主外键关系 或 一对多 多对一 多对多等关系) 3.绘制E-R图(1).实体(2).属性(3).关系(4).映射基数(5).实体关系图矩形表示实体集椭圆表示属性菱形表示关系集直线用来连接属性和实体集,也用来联系实体集合关系集 直线可以有方向(箭头)用来表示关系集的映射基数:1:1,1:N,M:N 4.三大范式第一范式:确保每列的原子性;第二范式:在第一范式的基础上, 是否存在部分依赖的关系(针对复合主键) 是否只描述一件事情;第三范式:在第二范式的基础上,不存在着传递依赖的关系面试准备之SQL 2——数据库的实现(T-SQL建库建表)1. 数据库文件包括:主数据文件:*.mdf次要数据文件:*.ndf日志文件:*.ldf ( l 是 L 的小写)2.使用T-SQL创建数据库代码:use mastergo-----------创建数据库------------if exists (select * from sysdatabases where name='stuDB')drop database stuDBcreate database stuDBon primary(name='stuDB_data',filename='D:\stuDB_data.mdf',size=3mb,maxsize=10mb,filegrowth=1mb)log on(name='stuDB_log',filename='D:\stuDB_data.ldf',size=1mb,filegrowth=1mb)3.使用T-SQL 创建数据库表代码:-----------创建数据库表------------use stuDBgoif exists (select * from sysobjects where name='stuInfo')drop table stuInfocreate table stuInfo( stuName varchar(20) not null, stuNo char(6) not null, stuAge int not null, stuID numeric(18,0),--身份证 stuSeat smallint identity(1,1), stuAddress text)goif exists (select * from sysobjects where name='stuMarks')drop table stuMarkscreate table stuMarks( ExmaNo char(7) not null, --考号 stuNo char(6) not null,--学号 writtenExam int not null,--笔试成绩 LabExam int not null--机试成绩)go4. 添加约束代码:--------------添加约束-----------------alter table stuinfo --修改stuinfo表add constraint PK_stuNo primary key (stuNo)--添加主键PK_stuNo是自定义的主键名也可以省略alter table stuinfo add constraint UQ_stuID unique (stuID) --添加唯一约束alter table stuinfo add constraint DF_stuAddress default ('地址不详') for stuAddress--添加默认 不填默认’地址不详‘alter table stuinfo add constraint CK_stuAge check(stuAge between 18 and 60) --添加检查约束18-60岁alter table stuMarksadd constraint FK_stuNo foreign key(stuNo) references stuInfo(stuNo)go5.删除约束-------------删除约束--------------alter table stuinfodrop constraint 约束名--如:FK_stuNo CK_stuAge DF_stuAddress UQ_stuID PK_stuNo面试准备之SQL 3——数据管理1. T-SQL 条件表达式:(1).常量:由一个或多个字母、数字或符号(! @ #)组成(2).一元运算符: 仅有一个操作数的运算符 +表示整数 —表示负数 ~表示补数运算符(3).二元运算符:组合两个操作数的运算符 包含 算术运算符 赋值运算符(=) 位运算符 比较运算符 逻辑运算符 字符串串联运算符(+) 或一元运算符= > < >= <= <> (不等于) !(非) (4) .'_' : 一个字符 A LIKE 'C_' 至多至少两个字符 % :任意长度字符串 A LIKE 'C%‘ [] : 区间 指定范围内的数据 A LIKE '[1-9]' [^] :不在该区间(指定范围内)的数据(5).逻辑运算符:And Or NotIn关键字 用来限制返回 可以是多个值2.T-SQL 插入数据Insert into 表名(列,列,列。

      values(值列、、、)将现有的表的数据添加到新的已存在的表中: inster into newtable 新表(列) select 列 from 旧表 (可以这样记:好似英语一样:从旧表查询数据插入到新表) 将现有的表的数据添加到新的不存在的表中:select 列 into 新表 from 旧表 以上语句由于标识列不允许被指定,因此我们要创建一个新的标识列,语法如下:select 其他列, identity(数据类型,标识种子,标识增长量) as 列名into 新表form 旧表通过Union关键字合并数据进行插入insert 表名(列名)select 列值 unionselect 列值 unionselect 列值 unionselect 列值 最后一行就不需要union了3.使用T-SQL更新数据update 表名 set 列名=新的值 where 条件4.使用T-SQL删除数据delete from 表名 where 条件面试准备之SQL 4—— 数据查询use mastergo-----------创建数据库------------if exists (select * from sysdatabases where name='stuDB')drop database stuDBcreate database stuDBon primary(name='stuDB_data',filename='D:\stuDB_data.mdf',size=3mb,maxsize=10mb,filegrowth=1mb)log on(name='stuDB_log',filename='D:\stuDB_data.ldf',size=1mb,filegrowth=1mb)-----------创建数据库表------------use stuDBgoif exists (select * from sysobjects where name='stuInfo')drop table stuInfocreate table stuInfo( stuId int identity(1,1) primary key not null, stuName varchar(20) not null, stuNo varchar(20) not null, stuSex char(6) not null, stuAge int not null, stuAddress text null)goif exists (select * from sysobjects where name='stuMarks')drop table stuMarkscreate table stuMarks( marksId int identity(1,1) primary key not null, ExamNo varchar(50) not null, --考号 stuNo char(6) not null,--学号 writtenExam int null,--笔试成绩 LabExam int null--机试成绩)go--向学员信息表stuInfo插入数据--INSERT INTO stuInfo(stuName,stuNo,stuSex,stuAge,stuAddress)VALUES('张秋丽','s25301','男',18,'北京海淀')INSERT INTO stuInfo(stuName,stuNo,stuSex,stuAge,stuAddress) VALUES('李斯文','s25303','女',22,'河南洛阳')INSERT INTO stuInfo(stuName,stuNo,stuSex,stuAge) VALUES('李文才','s25302','男',31)INSERT INTO stuInfo(stuName,stuNo,stuSex,stuAge,stuAddress) VALUES('欧阳俊雄','s25304','男',28,'威武哈')--向学员成绩表stuMarks插入数据--INSERT INTO stuMarks(ExamNo,stuNo,writtenExam,LabExam) VALUES('E2005070001','s25301',80,58)INSERT INTO stuMarks(ExamNo,stuNo,writtenExam) VALUES('E2005070002','s25302',50)INSERT INTO stuMarks(ExamNo,stuNo,writtenExam,LabExam) VALUES('E2005070003','s25303',97,82)--查看数据--select * from stuInfoselect * from stuMarks/*=======查询数据练习=========*/ --1.查询两表的数据--select * from stuInfo。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.