zhouzhouhhh / sqlstudy Goto Github PK
View Code? Open in Web Editor NEW2018年数据库小组每周学习内容,周报总结
2018年数据库小组每周学习内容,周报总结
create table ExtList (
ExtID char(10) primary key, --灭火器编号
ExtState char(8) check(ExState in ('遗失','正常','待维护')),
RoomResPerson char(10), --房间负责人
Dist char(10), --所在校区
Loc char(50), --具体地址
)
create table UserList (
UserID char(10) primary key, --用户编号
UPassword char(20) check(len(UPassword) >= 6 and len(UPassword)<=20 ), --用户密码
UName char(10),
Tel char(11) not null,
--Dept char(20), 所属部门
Position char(20) check(Position in ('房间负责人','保卫处人员','二级学院负责人')),
)
create table ReqList(
ReqID char(12) primary key,
ReqUserID char(10),
ReqExtID char(10),
StateSct char(8) default('待审核'), --保卫处审核
StateSecd char(8) default('待审核'),--二级学院负责人审核
ReqType char(10),
foreign key(ReqUserID) references UserList(UserID),
foreign key(ReqExtID) references ExtList(ExtID),
)
###SQL SERVER环境的高级使用
SQL SERVER性能网站:http://www.sql-server-performance.com/
优化数据库访问:
第一步:应用正确的索引
采用正确的索引会使生产系统的性能得到质的提升,另一个原因是创建或修改索引是在数据库上进行的,不会涉及到修改程序,并可以立即见到成效。
在下面这些列上创建非聚集索引:
1)搜索时经常使用到的;
2)用于连接其它表的;
3)用于外键字段的;
4)高选中性的;
5)ORDER BY子句使用到的;
6)XML类型。
第二步:创建适当的覆盖索引
假设你在Sales表(SelesID,SalesDate,SalesPersonID,ProductID,Qty)的外键列(ProductID)上创建了一个索引,假设ProductID列是一个高选中性列,那么任何在where子句中使用索引列(ProductID)的select查询都会更快,如果在外键上没有创建索引,将会发生全部扫描,但还有办法可以进一步提升查询性能。
第三步:整理索引碎片
什么是索引碎片?
由于表上有过度地插入、修改和删除操作,索引页被分成多块就形成了索引碎片,如果索引碎片严重,那扫描索引的时间就会变长,甚至导致索引不可用,因此数据检索操作就慢下来了。
有两种类型的索引碎片:内部碎片和外部碎片。
def index(request):
posModel = PosModel(username='',password='',age='')
posModel.save() #写入数据库
posModel = PosModel.object.get(id=1) #从数据库取出数据。
username = posModel.username
password = posModel.password
age = posModel.age
return HttpResponse('%s\n%s\n%s' %(username,password,age))
models.py:
from future import unicode-literals
from django.db import models
class PosModel(models.Model):
username = models.CharField(max_length=16,null=False) #定义了一个字段类型,名字叫username,最大长度为16,不能为空。
password = models.CharField(max_length=32,null=False)
age = models.IntegerField(null=True)
#还会默认创建一个名为id的字段
admin.py
from django.contrib import admin
from .models import PosModel
admin.site.register(PosModel) 后台.分区.注册(PosModel模型)
灭火器表 | 灭火器编号 | 灭火器种类 | 校区 | 教室 | 已使用年限 | 保质期时长 | 负责人编号 |
---|---|---|---|---|---|---|---|
Fir | Fno | Ftype | Floc | Froom | Fage | Flim | Uno |
create table Fir
(
Fno varchar(9) primary key,
Ftype varchar(9) not null,
Floc varchar(9) check(Floc in('东校区','新校区')),
Froom varchar(9) not null,
Fage int check(Fage>=0 and Fage<=5),
Flim int check(Flim>=0 and Flim<=10),
Uno varchar(9)
)
用户表 | 用户编号 | 用户名字 | 用户身份 | 用户工龄 | 用户上级 |
---|---|---|---|---|---|
userr | Uno | Uname | Uiden | Uage | Uboss |
create table userr
(
Uno varchar(9) primary key,
Uname varchar(9) not null,
Uiden varchar(9) check(Uiden in('0','1','2')),
Uage int check(Uage>18 and Uage<61),
Uboss varchar(9)
)
申请表 | 表号 | 表名 | 申请人编号 | 状态 | 负责人 | 申请日期 | 操作 | 灭火器编号 |
---|---|---|---|---|---|---|---|---|
app | Ano | Aname | Uno | Asta | Ares | Adate | Aop | Fno |
create table app
(
Ano varchar(9) primary key,
Aname varchar(9) not null,
Uno varchar(9) not null,
Asta varchar(9) check(Asta in('0','1')),
Ares varchar(9) not null,
Adate date not null,
Aop varchar(9) check(Aop in('更换','购买','换位','其他')),
Fno varchar(9)
)
一、完成数据库实验
二、学习数据库相关基础概念
ER图 (2).pdf
本周学习内容
完成数据库上机实验,大概了解sql语句的基础语法
下周计划
完善ER图,并且进一步计划前端
##数据库课程设计
###选题:第一题和第三题基本表的创建
第一题
要求:
员工的基本信息表:编号、姓名、性别、照片、民族、生日、政治面貌、文化程度、婚姻状况、籍贯、身份证号、手机号码、档案存放地、户口所在地等个人基本信息,以及相关工作信息——工作证号、入职日期、工作岗位、职务、上级员工编号、员工状态(1-在职,2-兼职,3-试用,4-离职,5-返聘,6-退休)、所在部门编号等;
部门表:部门编号、部门名称、部门职能编号、上级部门编号等;
用户信息表:用户名、密码、用户类型(1-系统管理员,2-普通用户);
创建基本表:
CREATE TABLE dept(
deptno char(3) primary key,
dname varchar(8),unique
djobno char(3),
dmanage char(3)
)
CREATE TABLE staff(
sno char(8) primary key ,
sname varchar(10),
ssex char(2),// check(ssex=’男’or ssex=’女’)
sphoto image,
snation varchar(4),
sbrith date,
spolitic varchar(8),
sedu varchar(6),
smar char(4),
splace varchar(20),
sidno char(18),
sphone char(11),
sdocu varchar(20),
sloc varchar(30),
sworkid char(8),
sworkdate date,
spost varchar(20),
sjob varchar(20),
smanage char(8),
sstate char(1),
deptno char(3) references dept(deptno),
foreign key(deptno)references dept(deptno) on delete cascade
)
CREATE TABLE userinfo(
uname varchar(8) primary key,
upassword varchar(8) not null,
urank char(1) not null,
sno char(8)references staff(sno)
)
第三题
要求:
员工的基本信息表:编号、姓名、上级员工编号、所在部门编号等;
加班信息表:加班日期、员工编号、加班类型编号(01-工作日加班,02-周末加班,03-节假日加班)、加班开始时间、加班结束时间、加班累计时间、加班工作描述、确认标志、确认人等;
创建基本表:
CREATE TABLE work(
wrecord int primary key,
wdate date,
sno varchar(8)references staff(sno),
wtype char(3),
wstime time,
wetime time,
wtime time,
wdesc varchar(20),
wsymbol char(1),
wcheck varchar(10)
)
CREATE TABLE staff(
sno char(8) primary key ,
sname varchar(10),
smanage char(8),
deptno char(3)
)
create database Library
use Library
create table Books(
bno char(50) primary key,
bname narchar(50),
bauther nvarchar(50),
bpublisher nvarchar(50),
bsummary nvarchar(50),
bprice float
)
create table Readers(
rno nvarchar(50) primary key ,
rname nvarchar(50),
jno nvarchar(50)
)
create table Records(
rno char(50) not null,
bno nvarchar(50) not null,
bname nvarchar(50) not null,
start datetime not null,
end datetime not null,
foreign key(bno) references Books(bno) on delete cascade ,
foreign key(rno) references Books(rno) on delete cascade
)
BS结构灭火器系统开发
1.按照任务要求,完成了对应的前端页面
2.实现了该页面上对数据表的显示与操作
3.需要对不同权限的人员显示不同的页面内容,所以之后对该页面拓展编写了不同的显示与功能效果
本周学习内容
1.case when then 嵌套用法
2.oracle分组排序取最值
3.遍历树结构数据
select
inv.fileid fileID,
inv.pri_inv_no priInvoiceNo,
inv.inv_no invoiceNo,
inv.inv_dt invDt,
inv.act_frt_hire invoiceAmount,
case
when inv.inv_typ='FREIGHT' then '运费'
when inv.inv_typ='HIRE' then '租金'
when inv.inv_typ='DEMURRAGE' then '滞期费'
when inv.inv_typ='DESPATCH' then '速遣费'
when inv.inv_typ='OTHER' then '杂费'
else ''
end invType,
case
when inv.inv_status='N' then '正常'
when inv.inv_status='A' then '废弃'
else ''
end invStatus
from sh_invoice inv
start with inv_no =(select invoiceno from v_sh_cml_incomemanage where fileid='8ae47aa15a93d392015ac5d173b11a52')
connect by NOCYCLE prior pri_inv_no = inv_no
order by inv.inv_dt desc
下周任务
数据库的设计
建立基本表:
图书(书号,书名,作者,价格,出版社,摘要)
读者(卡号,姓名,性别,单位,类型,级别)
借阅(书号,书名,卡号,借书时间,还书时间)
(为方便用户操作可考虑建立一个单位至单位编号表)
create database Library
use Library
create table Books(
bno nvarchar(255) primary key,
bname nvarchar(255) not null ,
auther nvarchar(255),
publisher nvarchar(255),
price float,
summary nvarchar(255)
)
create table Readers(
rno nvarchar(255) primary key ,
rname nvarchar(255),
sex nvarchar(20),
type nvarchar(20),
rating int not null,
jno nvarchar(255)
)
create table Jobs(
jno nvarchar(255) primary key ,
jname nvarchar(255) not null ,
)
create table Records(
rno nvarchar(255) not null,
bno nvarchar(255) not null,
bname nvarchar(255) not null,
start datetime not null,
end datetime not null,
foreign key(bno) references Books(bno) on delete cascade ,
foreign key(rno) references Books(rno) on delete cascade
)
###� 零件交易中心管理系统
� 零件信息(零件编号,颜色,零件名,重量,简介)
供应商信息(供应商编号,供应商名,地址,联系电话,简介)
顾客信息(顾客编号,顾客姓名,地址,联系电话)
供应信息(供应商和零件之间的联系)(零件编号,供应商编号,价格,数量)
求购信息(顾客和零件之间的联系)(顾客编号,零件编号,价格,数量)
交易(顾客编号,供应商编号,零件编号,价格,数量)
create database PART
use PART
create table P(
pno nvarchar(255) primary key ,
color nvarchar(20) not null,
pname nvarchar(255)not null,
weight float not null,
summary nvarchar(255)
)
create table S(
sno nvarchar(255) primary key ,
sname nvarchar(255) not null,
saddr nvarchar(255) not null,
snum nvarchar(20) not null,
summary nvarchar(255)
)
create table C(
cno nvarchar(255) primary key ,
cname nvarchar(255) not null,
caddr nvarchar(255) not null,
cnum nvarchar(20) not null
)
create table provide(
id nvarchar(255) primary key,
pno nvarchar(255) not null,
sno nvarchar(255) not null,
price float not null,
qty int not null,
foreign key (pno) references P(pno),
foreign key (sno) references S(sno)
)
create table buy(
id nvarchar(255) primary key ,
pno nvarchar(255) not null,
cno nvarchar(255) not null,
price float not null,
qty int not null,
foreign key (pno) references P(pno),
foreign key (cno) references C(cno)
)
create table trade(
id nvarchar(255) primary key ,
cno nvarchar(255) not null,
sno nvarchar(255) not null,
pno nvarchar(255) not null,
price float not null,
qty int not null,
foreign key (cno) references C(cno),
foreign key (sno) references S(sno),
foreign key (pno) references P(pno)
)
create table negotiate(
id nvarchar(255) primary key ,
cno nvarchar(255) not null,
sno nvarchar(255) not null,
pno nvarchar(255) not null,
price float not null,
qty int not null,
spath nvarchar(255) not null,
cpath nvarchar(255) not null,
foreign key (cno) references C(cno),
foreign key (sno) references S(sno),
foreign key (pno) references P(pno)
)
{
CREATE DATABASE <数据库名>
ON [PRIMARY] ① ②
(
--创建数据文件参数信息
[NAME=逻辑文件名,] ③
FILENAME=物理文件名, ④
[SIZE=数据库大小,] ⑤
[MAXSIZE=最大容量,] ⑥
[FILEGROWTH=增长量] ⑦
…
)
[LOG ON]⑧
(
--创建日志文件参数信息
[NAME=逻辑文件名,]
FILENAME=物理文件名,
[SIZE=数据库大小,]
[MAXSIZE=最大容量,]
[FILEGROWTH=增长量]
…
)
}
{
/**添加约束方式一:一条SQL添加一个约束**/
--添加主键约束,设置StuID列为Infos表的主键
ALTER TABLE Infos
ADD CONSTRAINT PK_Infos_StuID
PRIMARY KEY(StuID)
--添加检查约束, Gender列中的值只能为‘男’或者‘女’
ALTER TABLE Infos
ADD CONSTRAINT CK_Infos_Gender
CHECK(Gender = ‘男’ or Gender = ‘女’)
--添加默认约束,StuAddress如果不填,默认为‘地址不详’
ALTER TABLE Infos
ADD CONSTRAINT DF_Infos_StuAddress
DEFAULT(‘地址不详’) FOR StuAddress,
--添加唯一约束,StuName不可以重复
ALTER TABLE Infos
ADD CONSTRAINT UQ_Infos_StuName
UNIQUE(StuName)
}
{
select
inv.inv_no,inv.pri_inv_no,
(select distinct inv_no
from sh_invoice
where pri_inv_no is null
start with inv_no = inv.inv_no
connect by NOCYCLE prior pri_inv_no = inv_no) firstInvNo
from sh_invoice inv
where inv.pri_inv_no is not null
and inv.inv_status='N'
}
可用性设计,读性能设计(扩展读性能),一致性设计,扩展性设计 get
from django.db import models
import time
class Department(models.Model):
id = models.CharField(max_length=20, primary_key=True, default='')
name = models.CharField(null=True, max_length=20)
def __str__(self):
return self.id
class Purchase(models.Model):
id = models.CharField(max_length=20, primary_key=True, default='')
count = models.IntegerField(null=True)
single_price = models.FloatField(null=True)
total_price = models.FloatField(null=True)
state = models.IntegerField(null=True, default='0')
create_time = models.DateField(null=True, auto_now_add=True)
def __str__(self):
return self.id
class User(models.Model):
id = models.CharField(max_length=20, primary_key=True, default='')
password = models.CharField(null=True, max_length=50, default='')
username = models.CharField(null=True, max_length=20)
age = models.IntegerField(null=True, blank=True)
state = models.IntegerField(null=True, blank=False, default='0')
identity = models.IntegerField(null=True, blank=False, default='0')
department = models.ForeignKey(Department, to_field='id', on_delete=models.CASCADE, null=True, blank=True)
def __str__(self):
return self.id
class Room(models.Model):
id = models.CharField(max_length=20, primary_key=True, default='')
count = models.IntegerField(null=True)
pos = models.TextField(null=True)
user = models.ForeignKey(User, to_field='id', on_delete=models.CASCADE, null=True, blank=True)
def __str__(self):
return self.id
class fire_extinguisher(models.Model):
id = models.CharField(max_length=20, primary_key=True, default='');
state = models.IntegerField(default='2', null=True)
keep_time = models.IntegerField(null=True) ##以天计算
create_time = models.DateTimeField(auto_now=True, null=True)
description = models.TextField(blank=True, null=True)
kind = models.IntegerField(null=True, blank=False, default='0')
purchase = models.ForeignKey(Purchase, to_field='id', on_delete=models.CASCADE, null=True, blank=True)
room = models.ForeignKey(Room, to_field='id', on_delete=models.CASCADE, null=True, blank=True)
def __str__(self):
return self.id
class Application(models.Model):
id = models.CharField(max_length=20, primary_key=True, default='')
create_time = models.DateField(null=True, auto_now_add=True)
state = models.IntegerField(null=True, default='0')
uid = models.CharField(null=True, max_length=20)
kind = models.IntegerField(null=True, default='0')
text = models.TextField(null=True, default='')
room = models.ForeignKey(Room, to_field='id', on_delete=models.CASCADE, null=True, blank=True)
def __str__(self):
return self.id
数据库设计
本周
user
(
num 工号
pw 密码
name 姓名
state 状态
identity 权限
phonenumber 电话
email 电子邮箱
)
room
(
num 房间号
count 灭火器数量
pos 位置
user foreign_key(user) 管理员
)
fire_extinguisher
(
state 状态
keep_time 保质期截止日期
kind 种类
price 价格
room foreign_key(room) 所在房间
)
下周
学习Django对数据库的操作
用SQL server 实现一些非业务逻辑的功能:分页,数据过滤。
分页:输入页码(pageIndex),每页显示的记录数(pageSize)
数据过滤: 过滤结果集,并且有类似AND和OR的运算功能
学习使用django操作数据库
1.配置python环境
2.学习使用django操作数据库以及简单的前端页面的编写
3.依照周报上的学习教程进行了学习,按照慕课上的课程,实现了一个简单的BS结构的新闻网站
开发最终小组项目
1.为不同的用户类型展示不同的可见表
2.不同的用户对可见表的操作权限有所不同
##使用Django操作数据库
###创建表
打开blog目录下的models.py文件,这是我们定义blog数据结构的地方。打开mysite/blog/models.py 文件进行修改:
from django.db import models
class UserInfo(models.Model):
username = models.CharField(max_length=32)
password = models.CharField(max_length=32)
age = models.IntegerField()
执行命令后会在数据库创建一张数据表,Django默认会以APP名为数据表前缀,以类名为数据表名!
###添加数据
Django是在views.py文件中,通过导入models.py文件来创建数据的:
from django.shortcuts import render
from blog import models #导入blog模块
from django.shortcuts import HttpResponse
def db_handle(request):
models.UserInfo.objects.create(username='andy',password='123456',age=33)
return HttpResponse('OK')
然后再url中进行配置即可访问
用SQL server 实现一些非业务逻辑的功能:分页,数据过滤。
分页:输入页码(pageIndex),每页显示的记录数(pageSize)
数据过滤: 过滤结果集,并且有类似AND和OR的运算功能
from django.http inport HttpResponse
from models import PosModel
def index(request):
posModel = PosModel(username='',password='',age='')
posModel.save() #写入数据库
posModel = PosModel.object.get(id=1) #从数据库取出数据。
username = posModel.username
password = posModel.password
age = posModel.age
return HttpResponse('%s\n%s\n%s' %(username,password,age))
models.py
from _future_ import unicode-literals
from django.db import models
class PosModel(models.Model):
username = models.CharField(max_length=16,null=False) #定义了一个字段类型,名字叫username,最大长度为16,不能为空。
password = models.CharField(max_length=32,null=False)
age = models.IntegerField(null=True)
#还会默认创建一个名为id的字段
admin.py
from django.contrib import admin
from .models import PosModel
admin.site.register(PosModel) #后台.分区.注册(PosModel模型)
本周学习:
对数据进行增删改查
查
models.UserInfo.objects.all()
models.UserInfo.objects.all().values('user') #只取user列
models.UserInfo.objects.all().values_list('id','user') #取出id和user列,并生成一个列表
models.UserInfo.objects.get(id=1)
models.UserInfo.objects.get(user='yangmv')
增
models.UserInfo.objects.create(user='yangmv',pwd='123456')
或者
obj = models.UserInfo(user='yangmv',pwd='123456')
obj.save()
或者
dic = {'user':'yangmv','pwd':'123456'}
models.UserInfo.objects.create(**dic)
删
models.UserInfo.objects.filter(user='yangmv').delete()
改
models.UserInfo.objects.filter(user='yangmv').update(pwd='520')
或者
obj = models.UserInfo.objects.get(user='yangmv')
obj.pwd = '520'
obj.save()
下周任务:
BS结构灭火器系统开发
SQLServer语言的学习与环境使用
1.自学了Sqlsvrver环境的高级使用:如如何使用SQLserver删除数据库,恢复数据库,备份数据库
2.学习并可以熟练使用sqlserver进行表的创建,主外键以及约束条件的添加,以及数据的增删改查
学习如何设计数据库
本周学习:
数据库的设计
A、系统需求分析阶段
B、概念结构设计阶段
C、逻辑结构设计阶段
D、物理结构设计阶段
E、数据库实施阶段
F、数据库运行与维护阶段
下周任务
django操作数据库
20.毕业设计管理系统
题目表 | 题目编号 | 题目名称 | 题目类型 | 课题来源 | 指导教师 | 内容简介 | 专业要求 | 学生要求 |
---|---|---|---|---|---|---|---|---|
Til | Tno | Tname | Ttype | Tsou | Ttea | Tcon | Tmaj | Tstu |
指导教师信息表 | 教师号 | 姓名 | 性别 | 出生日期 | 学历 | 职称 | 研究方向 | 电话 | 邮箱 |
---|---|---|---|---|---|---|---|---|---|
Men | Mno | Mname | Mgen | Mbir | Medu | Mrank | Mdir | Mtel | Mmail |
学生信息表 | 学号 | 姓名 | 性别 | 专业 | 班级 | 电话 | 邮箱 | 备注 |
---|---|---|---|---|---|---|---|---|
Stu | Sno | Sname | Sgen | Smaj | Sclass | Stel | Smail | Snote |
选题表 | 题目编号 | 题目名称 | 学号 | 姓名 | 性别 | 专业 | 审核 |
---|---|---|---|---|---|---|---|
ST | Tno | Tname | Sno | Sname | Sgen | Smaj | Exa |
毕业设计进程表 | 任务书 | 文献综述 | 开题报告 | 原文翻译 | 中期检查 | 论文评审 | 导师意见 | 论文答辩 |
---|---|---|---|---|---|---|---|---|
Pro | Pplan | Plit | Psta | Ptra | Pmid | Pche | Popi | Pplea |
{
--创建数据库
--create database Graduation
use Graduation
--题目表(题目编号,题目名称,题目类型,课题来源,指导教师,内容简介,专业要求,学生要求)
--Til ( Tno, Tname, Ttype, Tsou, Ttea, Tcon, Tmaj, Tstu )
create table Til
(
Tno varchar(20) primary key,
Tname varchar(20),
Ttype varchar(20),
Tsou varchar(20),
Ttea varchar(20),
Tcon varchar(20),
Tmaj varchar(20),
Tstu varchar(20)
)
--指导教师信息表(教师号,姓名,性别,出生日期,学历,职称,研究方向,电话,邮箱)
-- Men ( Mno, Mname, Mgen ,Mbir, Medu, Mrank, Mdir ,Mtel, Mmail)
create table Men
(
Mno varchar(20) primary key,
Mname varchar(20),
Mgen varchar(20),
Mbir date,
Medu varchar(20),
Mrank varchar(20),
Mdir varchar(20),
Mtel varchar(20),
Mmail varchar(20)
)
--学生信息表(学号,姓名,性别,专业,班级,电话,邮箱,备注)
-- Stu (Sno, Sname, Sgen, Smaj, Sclass, Stel, Smail, Snote)
create table Stu
(
Sno varchar(20) primary key,
Sname varchar(20),
Sgen varchar(20),
Smaj varchar(20),
Sclass varchar(20),
Stel varchar(20),
Smail varchar(20),
Snote varchar(20)
)
--选题表(题目编号,题目名称,学号,姓名,性别,专业,审核)
-- ST ( Tno, Tname, Sno, Sname, Sgen, Smaj, Exa)
create table ST
(
Tno varchar(20),
Tname varchar(20),
Sno varchar(20),
Sname varchar(20),
Sgen varchar(20),
Smaj varchar(20),
Exa varchar(20)
)
--毕业设计进程表(任务书,文献综述,开题报告,原文翻译,中期检查,论文评审,导师意见,论文答辩)
--Pro(Pplan,Plit,Psta,Ptra,Pmid,Pche,Popi,Pplea)
create table Pro
(
Pplan varchar(20) primary key,
Plit varchar(20),
Psta varchar(20),
Ptra varchar(20),
Pmid varchar(20),
Pche varchar(20),
Popi varchar(20),
Pplea varchar(20)
)
}
view.py:
from django.http inport HttpResponse
from models import PosModel
def index(request):
posModel = PosModel(username='',password='',age='')
posModel.save() #写入数据库
posModel = PosModel.object.get(id=1) #从数据库取出数据。
username = posModel.username
password = posModel.password
age = posModel.age
return HttpResponse('%s\n%s\n%s' %(username,password,age))
models.py:
from future import unicode-literals
from django.db import models
class PosModel(models.Model):
username = models.CharField(max_length=16,null=False) #定义了一个字段类型,名字叫username,最大长度为16,不能为空。
password = models.CharField(max_length=32,null=False)
age = models.IntegerField(null=True)
#还会默认创建一个名为id的字段
admin.py
from django.contrib import admin
from .models import PosModel
admin.site.register(PosModel) #后台.分区.注册(PosModel模型)
sql_server 环境的高级用法
本周
1.学习sql_server的高级应:创建,删除,恢复数据库
2.学习使用sql的终端native工具对数据库进行操坐
下周
完成数据库的基本设计
用SQL server 实现一些非业务逻辑的功能:分页,数据过滤。
分页:输入页码(pageIndex),每页显示的记录数(pageSize)
数据过滤: 过滤结果集,并且有类似AND和OR的运算功能
create table Supplier (
Spno char(20) primary key,
Spname char(40) unique,
Sadd char(100) ,
Scopt char(20) ,
Sconple char(20),
Stel char(11),
Semail char(40),
);
--商品
create table Item(
Itno char(50) primary key,
ItKey char(50) unique,
ItName char(40),
ItType char(20),
)
--进货订单
create table OrderList (
OrderID char(50) primary key,
Spno char(20),
ItType char(20),
Value int,
OrderDate Date,
InDate Date,
OrderP char(20),
foreign key(Spno) references Supplier(Spno),
)
--订单明细
create table OrderItem(
FlowKey char(50) primary key,
OrderID char(50) ,
Itno char(50) ,
Cost int,
TotalCost int,
Quantity int,
foreign key(OrderID) references OrderList(OrderID),
foreign key(Itno) references Item(Itno)
)
--销售单
create table SaleList(
SaleID char(50) primary key,
Person char(20) ,
MacID char(10) unique,
CntQty int,
CntValue int,
SaleDate date,
SaleTime time,
)
--销售明细
create table SaleItem (
FlowKey char(50) primary key,
SaleID char(50) ,
Itno char(50),
SigCost int ,
Quantity int,
CntCost int,
foreign key(Itno) references Item(Itno),
foreign key(SaleID) references SaleList(SaleID)
)
--会员
create table Member(
MID char(30) primary key,
Mname char(20),
-- gender m,f
Brithday Date,
Tel char(11),
CardID char(18),
inDate Date,
)```
熟悉课设题目并完成数据库的构建
了解了一种网站开发模板
实践内容6 员工工资管理系统
建立一个员工工资管理系统, 编写应用程序完成系统开发。
员工的基本信息表:编号、姓名、上级员工编号、所在部门编号等;
考勤表:年份、月份、员工编号、所在部门编号、迟到天数、早退天数、请假累计天数、加班累计小时;
工资表:年份、月份、员工编号、所在部门编号、基本工资、住房补贴、应发金额、应扣金额、实发金额;
DROP TABLE if exists staff
CREATE TABLE staff
(
sno varchar(20) primary key,
sname varchar(20),
super_eno varchar(20),
dno varchar(20)
)
DROP TABLE if exists attendance
CREATE TABLE attendance
(
year tinyint,
month tinyint,
sno varchar(20),
dno varchar(20),
late_days tinyint,
early_days tinyint,
leave_days tinyint,
overtime_hours decimal,
primary key(year,month,sno)
)
DROP TABLE if exists salary
CREATE TABLE salary
(
year tinyint,
month tinyint,
sno varchar(20),
dno varchar(20),
basic_sal tinyint,
housing_subsidy tinyint,
due_amount tinyint,
deductible tinyint,
actual_amount tinyint,
primary key(year,month,sno)
)
实践内容13 学生选课系统
学生(学号,姓名,性别,年龄,系别)
课程(课程号,课程名,开课系,任课教师)
学习(学号,课程号,成绩)
drop table if exists student;
create table student
(
sno varchar(255) not null primary key,
sname varchar(255),
sage int,
sex varchar(255),
sdept varchar(255),
)
drop table if exists course
create table course
(
cno varchar(255) not null primary key,
cname varchar(255),
pcno varchar(255),
tno varchar(255)
)
drop table if exists study;
create table study
(
sno varchar(255) not null,
cno varchar(255) not null,
grade int,
primary key(sno, cno),
foreign key(cno) references course(cno),
foreign key(sno) references student(sno)
)
学习设计数据库
1.了解学习了设计数据的步骤与**
2.从课设中挑选了两道数据库课设题目进行了设计
3.之后进阶学习了慕课上一个数据库设计的课程,并对设计的数据库进行了优化
学习使用django
django操作数据库
本周
Django对数据库做了封装,也就是说我们不在需要自己写嵌入式的sql语言。
Django将数据库封装成一个模块,每个张表对应一个类。省去了繁琐的步骤是开发变的更加简洁。
只需要在django的settings文件里面写入相应的数据库的配置即可,如
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',#mysql的对应的Django模块
'NAME': 'fire_exg',# 操作数据库名称
'USER': 'feadmin',# 数据库账号名
'PASSWORD':'12345678Aa',#数据库密码
'HOST': '',#不填默认是localhost
'PORT': '',#端口不填也是默认的
}
}
下周
构造整体的框架
###代码
CREATE TABLE feinfo(
feno char(8)primary key,
festate char(4) CHECK (festate='正常' or festate='过期'),
checktime date,
)
CREATE TABLE empinfo(
eno char(8) primary key,
ename varchar(10),
ejob char(1) CHECK(ejob='1' or ejob='2' or ejob='3'),/*1为职工,2为保卫处人员,3为学院负责人*/
school char(4) CHECK(school='北区' or school='东区'),
building varchar(10),
room char(4),
feno char(8),
FOREIGN KEY (feno) REFERENCES feinfo(feno)
)
CREATE TABLE userinfo(
uaccount char(8),
upassword char(6),
urank char(1) CHECK(urank='0' or urank='1' or urank='2' or urank='3'),
uno char(8) references empinfo(eno),
primary key(uaccount,upassword)
)
CREATE TABLE appky(
atime date,
ano char(8) references empinfo(eno),
adetail varchar(40),
ares char(6) CHECK(ares='未审核' or ares='已通过' or ares='未通过'),
)
###效果
###介绍
共有四张表
员工基本信息表:
工号(主),姓名,职位,校区,楼宇,房间号,灭火器号
灭火器基本信息:
灭火器号,灭火器状态,上一次检查时间
用户表:
账号,密码,级别,工号
申请:
申请时间,申请人,申请内容,处理结果
可用性设计,读性能设计(扩展读性能),一致性设计,扩展性设计
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.