一、Sql Server 基础培训《进度1-建库建数据表(实际操作)》
知识点:
1、建数据库示例参考
--创建一个数据库名为‘dbtest’
create database dbtest
go
--打开数据库 dbtest
use dbtest
go
2、建表示例参考
--建立学生表
create table 学生
(
学生编号 char(4) primary key,
学生名字 varchar(50)not null
)
go
========================================
========================================
学习作业1:用sql语句建一套数据库表。不能手工拉设计图。完成的代码以“进度1-网名”命名,上交给枫山。
1、College(学院表)
|
字段名 |
数据类型 |
是否主键 |
描述 |
备注 |
|
ID |
Int |
是 |
学院内码 |
自增序列 |
|
Name |
Varchar(100) |
学院名称 |
2、Speciality(专业表)
|
字段名 |
数据类型 |
是否主键 |
描述 |
备注 |
|
ID |
Int |
是 |
专业内码 |
自增 |
|
Name |
Varchar(100) |
专业名称 |
||
|
CollegeID |
Int |
学院内码 |
College表内码 |
3、Class(班级表)
|
字段名 |
数据类型 |
是否主键 |
描述 |
备注 |
|
ID |
Int |
是 |
班级内码 |
自增 |
|
Name |
Varchar(100) |
班级名称 |
||
|
SpecialID |
Int |
专业内码 |
Speciality表内码 |
|
|
TeacherID |
Int |
教师内码 |
Teachers表内码 |
4、Student(学生表)
|
字段名 |
数据类型 |
是否主键 |
描述 |
备注 |
|
ID |
Int |
是 |
学生内码 |
自增 |
|
Name |
Varchar(100) |
学生名称 |
||
|
Sex |
Varchar(10) |
学生性别 |
||
|
ClassID |
Int |
班级内码 |
Classes表内码 |
|
|
[No] |
Varchar(100) |
学号 |
||
|
BeginDate |
Datetime |
入学时间 |
||
|
Birthday |
Datetime |
出生日期 |
||
|
IDCard |
Varchar(100) |
身份证号 |
||
|
Mobile |
Varchar(100) |
联系电话 |
5、Teacher(教师表)
|
字段名 |
数据类型 |
是否主键 |
描述 |
备注 |
|
ID |
Int |
是 |
教师内码 |
自增 |
|
Name |
Varchar(100) |
教师名称 |
||
|
Sex |
Varchar(10) |
教师性别 |
||
|
Mobile |
Varchar(100) |
联系电话 |
||
|
BeginDate |
Datetime |
入职日期 |
6、Special_To_Subject(专业科目关系表)
|
字段名 |
数据类型 |
是否主键 |
描述 |
备注 |
|
SpecialID |
Int |
专业内码 |
||
|
SubjectID |
Int |
科目内码 |
7、Subject(科目表)
|
字段名 |
数据类型 |
是否主键 |
描述 |
备注 |
|
ID |
Int |
是 |
科目内码 |
自增 |
|
Name |
Varchar(100) |
科目名称 |
8、Exam(考试表)
|
字段名 |
数据类型 |
是否主键 |
描述 |
备注 |
|
ID |
Int |
是 |
考试内码 |
自增 |
|
StudentID |
Int |
学生内码 |
||
|
SubjectID |
Int |
科目内码 |
||
|
Score |
Float |
考试成绩 |
=====================================
=====================================
学习作业1答案公布:
--建库
--Create database StudentDB
--学院
CREATE TABLE College
(
ID Int IDENTITY(1, 1) primary key, --学院内码
Name Varchar(100) --学院名称
)
--专业
CREATE TABLE Speciality
(
ID Int IDENTITY(1, 1) primary key, --专业内码
Name Varchar(100), --专业名称
CollegeID Int --学院内码
)
--班级
CREATE TABLE Classes
(
ID Int IDENTITY(1, 1) primary key, --班级内码
Name Varchar(100), --班级名称
SpecialID Int, --专业内码
TeacherID Int --教师内码
)
--学生表
CREATE TABLE Student
(
ID Int IDENTITY(1, 1) primary key, --学生内码
Name Varchar(100), --学生名称
Sex Varchar(10), --学生性别
ClassID Int, --班级内码
[No] Varchar(100), --学号
BeginDate Datetime, --入学时间
Birthday Datetime, --出生日期
IDCard Varchar(100), --身份证号
Mobile Varchar(100) --联系电话
)
--教师
CREATE TABLE Teachers
(
ID Int IDENTITY(1, 1) primary key, --教师内码 自增
Name Varchar(100), --教师名称
Sex Varchar(10), --教师性别
Mobile Varchar(100), --联系电话
BeginDate Datetime --入职日期
)
--专业科目关系表
CREATE TABLE Special_To_Subject
(
SpecialID int, --专业内码
SubjectID int --科目内码
)
--科目
CREATE TABLE [Subject]
(
ID int IDENTITY(1, 1) primary key, --科目内码
Name Varchar(100) --科目名称
)
--考试表
CREATE TABLE Exam
(
ID Int IDENTITY(1, 1) primary key, --考试内码
StudentID Int, --学生内码
SubjectID Int, --科目内码
Score Float --考试成绩
)
--drop database StudentDB
一、Sql Server 基础培训《进度1-建库建数据表(实际操作)》的更多相关文章
- 五、Sql Server 基础培训《进度5-数据类型(知识点+实际操作)》
知识点: ================================================= ============================================= ...
- 三、Sql Server 基础培训《进度3-是否使用外键(知识点学习)》
学习作业3: 问题1:你觉得外键有哪些适用情况?哪些不适用情况? 问题2:本次实战案例,由你来架构,你觉得有必要建立外键吗? 说明你的理由? ======================= ...
- 二、Sql Server 基础培训《进度2-关于主键(知识点学习)》
学习作业2: 问题1:主键都有哪些方式? 问题2:本次实战案例建立的主键采用哪种方式? 问题3:猜猜金蝶K3WISE建立的主键采用哪种方式? 问题4:谈谈手工主键增长设置具体实现思路?(选 ...
- 四、Sql Server 基础培训《进度4-插入数据(实际操作)》
知识点: 假设有订单表 CREATE TABLE Order ( ID int identity(1,1) not null primary key, --内码 BillNo varchar(100) ...
- 九、Sql Server 基础培训《进度9-复杂查询练习》(实际操作)
知识点: 复杂查询1:统计全校有多少个男生.有多少个女生? 写法1(分组): select sex as 性别,count(*) as 人数 from student group by sex 写法2 ...
- 八、Sql Server 基础培训《进度8-查询多种写法》(实际操作)
知识点: 假设学生表.班级表.年级表 学生表(student) 内码 学生姓名 班级内码 001 张三 1002 002 李四 1002 003 王五 1003 004 钱六 1001 班级表(cla ...
- 七、Sql Server 基础培训《进度7-笛卡尔积(知识点+实际操作)》
知识点: 1.笛卡尔介绍 笛卡尔,近代法国著名哲学家.物理学家.数学家.神学家. 主要成就概述 笛卡尔在科学上的贡献是多方面的.笛卡尔不仅在哲学领域里开辟了一条新的道路,同时笛卡尔又是一勇于探索的科学 ...
- 六、Sql Server 基础培训《进度6-更新删除(实际操作)》
知识点: 假设,创建表test1,test2. drop table test1 create table test1 ( FID int identity(1,1), FBillNo varchar ...
- SQL SERVER 2012 第五章 创建和修改数据表 の CREATE语句
CREATE <object type> <object name> CREATE DATABASE <database name> 比较完整的语法列表: 日志文件 ...
随机推荐
- python之封装
封装的主要原因是保护隐私,隔离复杂度 封装分为两个层面: 第一个层面的封装(什么都不用做):创建类和对象会分别创建二者的名称精简,我们只能用类名.或者obj.的方式去访问里面的名字,这本身就是一种分装 ...
- elastic-job详解(一):数据分片
数据分片的目的在于把一个任务分散到不同的机器上运行,既可以解决单机计算能力上限的问题,也能降低部分任务失败对整体系统的影响.elastic-job并不直接提供数据处理的功能,框架只会将分片项分配至各个 ...
- Annotation 的第一个工程
一.什么是 Annotation? java.lang.annotation,接口 Annotation.对于Annotation,是Java5的新特性,JDK5引入了Metadata(元数据)很容易 ...
- 细说python类2——类动态添加方法和slots(转)
先说一下类添加属性方法和实例添加属性和方法的区别, 类添加属性属于加了一个以类为全局的属性(据说叫静态属性),那么以后类的每一个实例化,都具有这个属性.给类加一个方法也如此,以后类的每一个实例化都具备 ...
- centos7安装redis设置开机启动
1. 首先下载redis源码,并使用tar进行解压缩 wget http://download.redis.io/releases/redis-4.0.8.tar.gztar xvzf redis-4 ...
- AndroidStudio中Handler类的内存溢出风险
package com.test.king.xmlparser; import android.annotation.SuppressLint; import android.app.Activity ...
- Java WebSocket实现网络聊天室(群聊+私聊)
1.简单说明 在网上看到一份比较nice的基于webSocket网页聊天项目,准备看看学习学习,如是有了这篇文章!原博主博客:http://blog.csdn.net/Amayadream/artic ...
- 数据库的范式,第一、二、三、四、五范式、BC范式
数据库的规范化(上一篇博客有写到)的程度不同,便有了这么多种范式.数据库范式是数据库设计必不可少的知识,没有对范式的理解,就无法设计出高效率.优雅的数据库,甚至设计出错误误的数据库.课本中的定义比较抽 ...
- mybatis插入一个对象后获取表中自增的主键Id并且传入到插入的的对象中,方便将对象中其他属性赋值给其他以前表主键Id作为非空字段的表
原本的sql语句为: <insert id="xx" parameterType="com.hrt.partner.model.ShopInsert"&g ...
- Docker入门 - 004 Docker 容器使用
Docker 客户端 docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项. docker 可以通过命令 docker command -- ...