层次结构:用树表示逻辑结构,简单易懂,但是数据巨大的时候就难以应付
网状结构:用网/图表示逻辑结构,涉及的实体较少时还能应付,多了的时候难免条理不清晰
关系模型:用二维表表示逻辑结构,容易操作使用,但需性能较高的计算机
面向对象模型:用对象来描述客观世界,逻辑清晰易懂,更加易于操作,,,使用复杂,开发效率低
4.8数据库系统如何实现(物理、逻辑)数据独立性?
1.逻辑独立性,主要是通过视图View的机制来保证,好处是修改数据库结构,可在一定程度上不用修改应用程序;2物理独立性,主要是指数据库的内部逻辑结构不依赖于数据库物理的存储机制,好处就是可以根据不同类型的物理介质选择不同的存储方式,例如顺序存储方式、B树结构等不同的方式。独立性的好处就是包容变化,隔离依赖。
内模式、模式和外模式,解决了数据的独立性问题。
三层之间不必互相关心各自的实现方式,可以进行独自的修改,其中物理和逻辑之间需要映射来互相关联,逻辑层不用关心物理存储的实现方式。
逻辑层和应用层之间也通过映射实现,逻辑层的改变会在一定程度上影响应用层,当逻辑层改变后,需要应用层改变映射关系,否则会影响访问数据的正确性。
总的来说,三层的结构相当于制定了一个标准化组织,层与层之间不需要相互关心实现方式,遵循映射关系即可。
数据库设计阶段分为?
概念设计阶段、逻辑设计阶段、物理设计阶段、实施和调试阶段
SQL2008操作
创建表
USE 教学库
GO
CREATE TABLE 课程表
(
课程号 char (4) primary key,
课程名 varchar (20),
学时 tinyint ,
学分 tinyint )
修改表-删除字段
USE 教学库
GO
ALTER TABLE 学生表
DROP COLUMN 年龄
-修改字段
USE 教学库
GO
ALTER TABLE 学生表
ALTER COLUMN 姓名 varchar(50 )NULL
-添加字段
USE 教学库
GO
ALTER TABLE 课程表
ADD 任课教师 varchar( 10)
设置主键约束(两个)
USE 教学库
GO
CREATE TABLE 选课表
(学号 char(7 ),
课程号 char( 4),
成绩 int,
CONSTRAINT pk_js PRIMARY KEY(学号 ,课程号))
-使用ALTER TABLE 的ADD CONSTRAINT 子句添加约束
USE STUDENT2
GO
CREATE TABLE 学生表
(学号 char(6 ) NOT NULL,
姓名 char( 8) NOT NULL,
身份证号 char( 20),
性别 char( 2) NOT NULL,
CONSTRAINT pk_st PRIMARY KEY(学号 ))
-删除约束
ALTER TABLE 学生表
DROP CONSTRAINT pk_st
**投影查询**
## 查询学号前六学生的姓名 ##
USE 教学库
SELECT 姓名 FROM 学生表 where 学号 in(select top 6 学号 from 学生表)
计算列值 转换150分制
USE 教学库
SELECT 学号,课程,成绩150=成绩*1.50 FROM 选课表
USE 教学库,select