首页
关于
统计
友链
更多
留言
壁纸
推荐
用户登录
用户注册
百度一下
简源下载
个人介绍
Search
1
安卓手机被锁机时六种解决方法
705 阅读
2
工商注册html单页ui练习第二弹
299 阅读
3
SQL server课堂笔记 持续更新
288 阅读
4
小白无需会ps在线抠图地址
204 阅读
5
58注册html单页ui练习第三弹
192 阅读
网站公告
点滴记录
强者之路
学习笔记
HTML
CSS
C#
SQL
Script
jQuery
网站源码
整站源码
技术教程
活动线报
干货教学
值得一看
冷的知识
单曲音乐
影片推荐
实用软件
登录
/
注册
Search
标签搜索
笔记
JS
Script
值得一看
html
线报
练习
白嫖
SQL
JQ
C#
作业
代码
技术
教程
网站源码
ui
冷知识
单曲推荐
音乐
耀世
累计撰写
91
篇文章
累计收到
10
条评论
首页
栏目
网站公告
点滴记录
强者之路
学习笔记
HTML
CSS
C#
SQL
Script
jQuery
网站源码
整站源码
技术教程
活动线报
干货教学
值得一看
冷的知识
单曲音乐
影片推荐
实用软件
页面
关于
统计
友链
留言
壁纸
推荐
用户登录
用户注册
百度一下
简源下载
个人介绍
搜索到
10
篇与
的结果
2023-06-07
SQLServer 创建函数和调用函数
创建函数--创建函数 go Create Function getAge(@StuID int) returns int Begin declare @Age int; --返回的参数 Select @Age=Age from Students where StuID=@StuID; --给参数赋值 return @Age; --返回值 End Go调用函数Select dbo.getAge(1) as 年龄 Select Sum(Age) as 年龄 From Students
2023年06月07日
3 阅读
0 评论
0 点赞
2023-06-07
SQLServer 创建存储过程
创建存储过程--存储过程 Create proc dbo.UpdateStu @StuID int, --学生ID @StuName varchar(200), --学生姓名 @Age int --学生年龄 As Begin --更新语句 update Students Set StuName=@StuName,Age=@Age where StuID=@StuID; end go调用存储过程--调用存储过程 exec dbo.UpdateStu 2,'猪八戒--天蓬元帅',50 -- 传参方法① exec dbo.UpdateStu @StuID=3,@StuName='沙悟净--傻傻双',@Age=50 --传参方法② 删除存储过程--删除存储过程 drop proc dbo.UpdateStu
2023年06月07日
2 阅读
0 评论
0 点赞
2023-06-07
SQLServer 创建触发器
创建数据库create database Demo230607 --连数据库 use Demo230607 go --创建记录表 Create table StudenLog ( ID int primary key identity, StuID int, --学生ID StuName varchar(200), --学生姓名 StuClassID int, --学生班级 Datetype varchar(200), --触发操作类型 CreateTime dateTime --触发时间 ) go创建触发器--触发器 create Trigger [Student_tri_add_data] --在添加学生表数据时触发 on students --属于哪个表的触发器 for insert --执行什么操作的时候触发 as Begin --触发器要执行的代码 Declare @StuID int ,@StuName varchar(200),@StuClassID int; --声明变量用于存储数据 --把新增的数据保存到变量中 Select @StuID=StuID,@StuName=StuName,@StuClassID=ClassID from inserted; --inserted表存储的是上一次添加的数据 --把数据添加到StudentLog insert into StudenLog(StuID,StuName,StuClassID,DateType,CreateTime) values(@StuID,@StuName,@StuClassID,'添加数据',getDate()); end go删除触发器--触发器删除 Create Trigger [Student_tri_del_data] --在添加学生表数据时触发 on Students --属于哪个表的触发器 for delete --执行什么操作的时候触发 as Begin --触发器要执行的代码 Declare @StuID int ,@StuName varchar(200),@StuClassID int; --声明变量用于存储数据 --把新增的数据保存到变量中 Select @StuID=StuID,@StuName=StuName,@StuClassID=ClassID from deleted; --inserted表存储的是上一次添加的数据 select * from deleted --把数据添加到StudentLog insert into StudenLog(StuID,StuName,StuClassID,DateType,CreateTime) values(@StuID,@StuName,@StuClassID,'删除数据',getDate()); end go --测试删除触发器 delete Students where StuName='杨戬' go
2023年06月07日
2 阅读
0 评论
0 点赞
2022-10-15
SQL综合案例课堂进阶练习
练习3题目要求:检查 "Java Logic."课程最近一次考试。如果有80分以上的成绩,则每人提2分;否则,每人提5分。最终的成绩不得大于100分第一步:采用EXISTS检测是否有人考试成绩达到80分以上第二步:如果成绩有80分以上的,使用UPDATE语句为参加本次考试的每名学生加2分;否则加5分代码书写:select ExamDate As 考试日期, StudentNo As 学号, StudentResult As 成绩 from Result where SubjectNo in --多个返回值 使用in ( select SubjectNo from Subject where SubjectName='Java Logic' ) AND ExamDate = ( select Max (ExamDate) from Result where SubjectNo in ( select SubjectNo from Subject where SubjectName='Java Logic' ) )运行结果:练习4题目要求:查询学号是20012的学生Java Logic课程最近一次考试成绩,输出学生姓名和考试等级;如果成绩大于85分,显示“优秀”如果大于70分,显示“良好”如果大于60分,显示“中等”;否则显示“差”用TOP关键字和连接查询语句查出学号是20012的学生Java Logic课程最近一次考试成绩判断该学生的考试成绩所在的范围内,输出相应的提示信息代码书写:Declare @Name varchar(10) --声明变量 Declare @Grade int --声明变量 --通过Select连表查询并且多个变量同时赋值 Select top 1 @Name = stu.StudentName ,@Grade = res.StudentResult from Result res inner join Subject sub on res.SubjectNo = sub.SubjectNo inner join Student stu on res.StudentNo = stu.StudentNo --查询的条件要求 Where sub.SubjectName = 'Java Logic' and stu.StudentNo = '20012' order by res.ExamDate desc --判断分数是否大于85 if(@Grade >= 85) Begin print '考生:' + @Name Print '成绩:' + CAST(@Grade as varchar(10)) + ' 等级:优秀' End else if(@Grade >= 70) Begin print '考生:' + @Name Print '成绩:' + CAST(@Grade as varchar(10)) + ' 等级:良好' End else if(@Grade >= 60) Begin print '考生:' + @Name Print '成绩:' + CAST(@Grade as varchar(10)) + ' 等级:中等' End else Begin print '考生:' + @Name Print '成绩:' + CAST(@Grade as varchar(10)) + ' 等级:差' End 运行结果:练习5题目要求:根据C# OOP课程最近一次考试成绩,显示每个学生的等级90分以上:☆☆☆☆80-89分:☆☆☆70-79分:☆☆60-69分:☆60分以下:你要努力了!!!代码书写:declare @date datetime declare @subNo int select @subNo=SubjectNo from Subject where SubjectName='Java Logic' --通过课程名得到课程号 select @date = max(ExamDate) from Result where SubjectNo=@subNo --通过课程号得到Java Logic 最近的一次考试时间 print '加分前成绩如下:' select 学号=StudentNo ,分数 = StudentResult, 成绩等级=CASE when StudentResult between 0 AND 59 then '你要努力了! ! ! ' when StudentResult between 60 AND 69 then '☆' when StudentResult between 70 AND 79 then '☆☆' when StudentResult between 80 AND 89 then '☆☆☆' else '☆☆☆☆' END from Result where SubjectNo=@subNo AND ExamDate=@date --通过Java Logic课程号 和 最近一次考试的时间 得到学生的成绩 运行结果:练习6题目要求:检查C# OOP课程最近一次考试是否有不及格的学生。如果有,则每人加2分直至全部学生都及格。如果学生成绩大于100,则按100分计算,要求输出循环添加2分的次数;提示: 这题是练习5的进阶版,在5的代码前提上进行编写代码书写:declare @date datetime declare @subNo int select @subNo=SubjectNo from Subject where SubjectName='Java Logic' --通过课程名得到课程号 select @date = max(ExamDate) from Result where SubjectNo=@subNo --通过课程号得到Java Logic 最近的一次考试时间 print '加分前成绩如下:' select 学号=StudentNo ,分数 = StudentResult, 成绩等级=CASE when StudentResult between 0 AND 59 then '你要努力了! ! ! ' when StudentResult between 60 AND 69 then '☆' when StudentResult between 70 AND 79 then '☆☆' when StudentResult between 80 AND 89 then '☆☆☆' else '☆☆☆☆' END from Result where SubjectNo=@subNo AND ExamDate=@date --通过Java Logic课程号 和 最近一次考试的时间 得到学生的成绩 declare @count int declare @number int set @number = 0 while(1=1) begin select @count = count(*) from result where SubjectNo=@subNo AND ExamDate=@date and StudentResult < 80 --统计低于80分一下的人数 if(@count > 0) begin update Result set StudentResult=StudentResult+2 from Result where SubjectNo=@subNo AND ExamDate=@date and StudentResult <= 98 set @number = @number + 1 end else break; end print '添加2分的次数是: ' + cast(@number as nvarchar(50))运行结果:由于全部学生考试都及格 所以加分的学生为0练习7题目要求:为每个学生制作在校期间每门课程的成绩单,要求每个学生参加每门课程的最后一次考试成绩作为该生本课程的最终成绩成绩单中包括:学生姓名 课程所属的年级名称课程名称 考试日期 考试成绩代码书写:select studentName 姓名, ( select GradeName from Grade where Gradeid=subject.Gradeid ) 课程所属年级,subjectName 课程名称,ExamDate 考试日期,StudentResult 成绩 from Result inner join Student ON Result.StudentNo=Student.StudentNo inner join subject ON subject.subjectNo=Result.subjectNo where Result.ExamDate= ( select Max(ExamDate) from Result where subjectNo=subject.subjectNo and StudentNo=Student.StudentNo group by Result.subjectNo ) order by Result.StudentNo asc, Result.subjectNo asc运行结果:
2022年10月15日
46 阅读
0 评论
0 点赞
2022-10-15
SQL综合案例课堂练习
练习1题目要求:查询学号是10000的学生参加2013年2月17日的“Java Logic”课程考试的成绩,要求输出学生姓名和成绩解题分析:第一步:根据学号查出学生姓名,第二步:按照指定日期、学号和课程查询得到考试成绩第三步:输出学生的姓名和考试成绩书写代码:--第一步:根据学号查出学生姓名 declare @Name nvarchar(20) select @Name = StudentName from Student where StudentNo = 10000 --第二步:按照指定日期、学号和课程查询得到考试成绩 declare @Score int Select @Score = res.StudentResult from Student stu inner join Subject sub on stu.GradeId = sub.GradeId inner join Result res on stu.StudentNo = res.StudentNo where res.ExamDate = '2013-2-17' and sub.SubjectName = 'Java Logic' and stu.StudentName = @Name --第三步:输出学生的姓名和考试成绩 print '姓名:' + @Name print '成绩:' + convert(nvarchar(10),@Score)运行结果:练习2题目要求:统计并显示2013-2-17的Java Logic考试平均分如果平均分在70以上,显示“考试成绩优秀”,并显示前三名学生的考试信息如果在70以下,显示“考试成绩较差”,并显示后三名学生的考试信息书写代码:declare @Avg int --声明变量 select @Avg = avg(res.StudentResult) from --连表查询并且赋值2013-2-17的Java Logic考试平均分给到@Avg Result res inner join Subject sub on res.SubjectNo = sub.SubjectNo where sub.SubjectName = 'Java Logic' and res.ExamDate = '2013-2-17' --查询的条件2013-2-17的Java Logic if(@Avg > 70) --判断平均分是否在七十以上 begin print '考试成绩优秀前三名数据显示' select top 3 StudentNo,StudentResult from Result res inner join Subject sub on res.SubjectNo = sub.SubjectNo where sub.SubjectName = 'Java Logic' and res.ExamDate = '2013-2-17' order by StudentResult desc --排序 降序 显示最高值 end else begin print '考试成绩较差后三' select top 3 StudentNo,StudentResult from Result res inner join Subject sub on res.SubjectNo = sub.SubjectNo where sub.SubjectName = 'Java Logic' and res.ExamDate = '2013-2-17' order by StudentResult asc --排序 升序 显示最低值 end运行结果:
2022年10月15日
33 阅读
0 评论
0 点赞
2022-10-15
SQL创建综合案例数据库
前言做练习之前肯定是要把数据库建起来,接下来就是把完善了数据的数据库代码分享出来,建完后之后请参考综合案例的编程题创建代码创建数据库MySchoolUSE master GO IF EXISTS (SELECT * FROM sysdatabases WHERE name = 'MySchool') DROP DATABASE MySchool GO CREATE DATABASE MySchool ON ( NAME = ' MySchool_data', --主数据文件的逻辑名 FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\MySchool_data.mdf' , --主数据文件的物理名 SIZE = 10 MB, --主数据文件初始大小 FILEGROWTH = 20 % ) LOG ON ( NAME = 'MySchool_log', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\MySchool_log.ldf' , SIZE = 3MB, MAXSIZE = 20MB, FILEGROWTH = 1MB ) GO创建学生信息表StudentUSE MySchool Go IF EXISTS(SELECT * FROM sysobjects WHERE name ='Student') DROP TABLE Student Go CREATE TABLE Student ( StudentNo int NOT NULL PRIMARY KEY, LoginPwd nvarchar(50) NOT NULL, StudentName nvarchar(50) NOT NULL, Sex bit NOT NULL, GradeId int NOT NULL, Phone nvarchar(50) NULL, Address nvarchar(255) NULL, BornDate datetime NOT NULL, Email nvarchar(50) NULL, IdentityCard varchar(18) NOT NULL ) GO创建年级表GradeUSE MySchool GO IF EXISTS(SELECT * FROM sysobjects WHERE name='Grade') DROP TABLE Grade GO CREATE TABLE Grade( GradeId int IDENTITY(1,1) NOT NULL PRIMARY KEY, GradeName nvarchar(50) NOT NULL ) GO创建课程表SubjectUSE MySchool GO IF EXISTS (SELECT * FROM sysobjects WHERE name='Subject' ) DROP TABLE Subject GO CREATE TABLE Subject ( SubjectNo int IDENTITY(1,1) NOT NULL PRIMARY KEY, SubjectName nchar(50) NOT NULL CHECK(SubjectName is not null), ClassHour int NOT NULL CHECK(ClassHour>=0), GradeId int NOT NULL REFERENCES Grade(GradeId) ) GO创建成绩表ResultUSE MySchool GO IF EXISTS (SELECT * FROM sysobjects WHERE name=' Result' ) DROP TABLE Result GO CREATE TABLE Result ( StudentNo int NOT NULL REFERENCES Student(StudentNo), SubjectNo int NOT NULL REFERENCES Subject(SubjectNo), StudentResult int NOT NULL, ExamDate datetime NOT NULL DEFAULT (getdate()) ) GO插入数据--向Grade表插入数据 INSERT INTO Grade VALUES('S1') INSERT INTO Grade VALUES('S2') INSERT INTO Grade VALUES('Y2') --向Subject表插入数据 INSERT INTO Subject VALUES('Winforms',20,1) INSERT INTO Subject VALUES('Java Logic',16,1) INSERT INTO Subject VALUES('SQL Base',18,1) INSERT INTO Subject VALUES('HTML',32,1) INSERT INTO Subject VALUES('Proc',38,1) INSERT INTO Subject VALUES('Project',36,1) INSERT INTO Subject VALUES('C# OOP',24,2) INSERT INTO Subject VALUES('Three Tier',28,2) INSERT INTO Subject VALUES('Java OOP',12,2) INSERT INTO Subject VALUES('JSP',26,2) INSERT INTO Subject VALUES('JavaScript',24,2) INSERT INTO Subject VALUES('T-SQL',22,2) INSERT INTO Subject VALUES('Project',42,2) INSERT INTO Subject VALUES('ASP.NET',38,3) INSERT INTO Subject VALUES('Control+Ajax',12,3) --向Student表插入数据 INSERT INTO Student VALUES('10000','GuoJing','郭靖',1,1,02088762106,'天津市河西区','1987-09-08 00:00:00','GuoJing@sohu.com',111111) INSERT INTO Student VALUES('10001','LiWenCai','李文才',1,1,01062768866,'地址不详','1993-03-04 00:00:00','LiWenCai@sohu.com',111112) INSERT INTO Student VALUES('10002','LiSiWen','李斯文',1,1,02183410615,'河南洛阳','1992-08-08 00:00:00','LiSiWen@sohu.com',111113) INSERT INTO Student VALUES('10011','WuSong','武松',1,1,01062768888,'地址不详','1984-12-31 00:00:00','WuSong@sohu.com',111114) INSERT INTO Student VALUES('10012','HeQiang','何强',1,1,02183567890,'地址不详','1991-08-30 00:00:00','HeQiang@sohu.com',111120) INSERT INTO Student VALUES('20011','ZhangSan','张三',2,1,15290234178,'北京市海淀区','1994-01-01 00:00:00','ZhangSan@sohu.com',111115) INSERT INTO Student VALUES('20012','ZhangQiuYu','张秋丽',0,2,01062751414,'北京市东城区','1990-06-05 00:00:00','ZhangQiuYu@sohu.com',111116) INSERT INTO Student VALUES('20015','XiaoMei','肖梅',0,2,031466557171,'河北省石家庄市','1996-10-01 00:00:00','XiaoMei@sohu.com',111117) INSERT INTO Student VALUES('30021','OuYangJunXiong','欧阳俊雄',1,2,02277585000,'上海市卢湾区','1995-09-29 00:00:00','OuYangJunXiong@sohu.com',111118) INSERT INTO Student VALUES('30023','MeiChaoFeng','梅超风',0,2,031466557172,'广州市天河区','1997-08-30 00:00:00','MeiChaoFeng@sohu.com',111119) --向Result表插入数据 INSERT INTO Result VALUES('10001',2,70.6,'2013-02-15 00:00:00') INSERT INTO Result VALUES('10000',2,60,'2013-02-17 00:00:00') INSERT INTO Result VALUES('10001',2,46,'2013-02-17 00:00:00') INSERT INTO Result VALUES('10002',2,83,'2013-02-17 00:00:00') INSERT INTO Result VALUES('10011',2,71,'2013-02-16 00:00:00') INSERT INTO Result VALUES('10011',2,95.5,'2013-02-17 00:00:00') INSERT INTO Result VALUES('10012',2,76,'2013-02-15 00:00:00') INSERT INTO Result VALUES('20011',2,60,'2013-02-15 00:00:00') INSERT INTO Result VALUES('20012',2,91,'2013-02-15 00:00:00') INSERT INTO Result VALUES('20012',7,61,'2013-02-15 00:00:00') INSERT INTO Result VALUES('20015',2,60,'2013-02-15 00:00:00') INSERT INTO Result VALUES('20015',7,65,'2013-02-15 00:00:00') INSERT INTO Result VALUES('30021',2,23,'2013-02-15 00:00:00') INSERT INTO Result VALUES('30021',8,74,'2013-02-15 00:00:00') INSERT INTO Result VALUES('30023',2,23,'2013-02-15 00:00:00') INSERT INTO Result VALUES('30023',9,39,'2013-02-15 00:00:00')查询创建后的数据Select * from Student; Select * from Subject; Select * from Result; Select * from Grade;创建数据库代码合集--创建数据库MySchool USE master GO IF EXISTS (SELECT * FROM sysdatabases WHERE name = 'MySchool') DROP DATABASE MySchool GO CREATE DATABASE MySchool ON ( NAME = ' MySchool_data', --主数据文件的逻辑名 FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\MySchool_data.mdf' , --主数据文件的物理名 SIZE = 10 MB, --主数据文件初始大小 FILEGROWTH = 20 % ) LOG ON ( NAME = 'MySchool_log', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\MySchool_log.ldf' , SIZE = 3MB, MAXSIZE = 20MB, FILEGROWTH = 1MB ) GO --创建学生信息表Student USE MySchool Go IF EXISTS(SELECT * FROM sysobjects WHERE name ='Student') DROP TABLE Student Go CREATE TABLE Student ( StudentNo int NOT NULL PRIMARY KEY, LoginPwd nvarchar(50) NOT NULL, StudentName nvarchar(50) NOT NULL, Sex bit NOT NULL, GradeId int NOT NULL, Phone nvarchar(50) NULL, Address nvarchar(255) NULL, BornDate datetime NOT NULL, Email nvarchar(50) NULL, IdentityCard varchar(18) NOT NULL ) GO --创建年级表Grade USE MySchool GO IF EXISTS(SELECT * FROM sysobjects WHERE name='Grade') DROP TABLE Grade GO CREATE TABLE Grade( GradeId int IDENTITY(1,1) NOT NULL PRIMARY KEY, GradeName nvarchar(50) NOT NULL ) GO --创建课程表Subject USE MySchool GO IF EXISTS (SELECT * FROM sysobjects WHERE name='Subject' ) DROP TABLE Subject GO CREATE TABLE Subject ( SubjectNo int IDENTITY(1,1) NOT NULL PRIMARY KEY, SubjectName nchar(50) NOT NULL CHECK(SubjectName is not null), ClassHour int NOT NULL CHECK(ClassHour>=0), GradeId int NOT NULL REFERENCES Grade(GradeId) ) GO --创建成绩表Result USE MySchool GO IF EXISTS (SELECT * FROM sysobjects WHERE name=' Result' ) DROP TABLE Result GO CREATE TABLE Result ( StudentNo int NOT NULL REFERENCES Student(StudentNo), SubjectNo int NOT NULL REFERENCES Subject(SubjectNo), StudentResult int NOT NULL, ExamDate datetime NOT NULL DEFAULT (getdate()) ) GO
2022年10月15日
48 阅读
0 评论
0 点赞
2022-10-15
SQL实现打印九九乘法表
运行图示思路必要的注释都添加了,语句也不是很复杂希望你做的每一件事不是因为跟风,而是因为喜欢和热爱。书写代码Declare @rows int --行数 Declare @cols int --个数 Select @rows = 1,@cols = 1; Declare @gap varchar(100) --输出之间的间隔 Print '========================= 《九九乘法表》 =========================' While(@rows <= 9) --循环的次数大于等于9 Begin --开始1 While(@cols <= @rows) --列数小于等于行数 Begin --开始2 Select @gap = @gap + CAST(@rows as varchar(2)) + '*' + CAST (@cols as varchar(2)) + '=' + CAST(@cols * @rows as varchar(2)) + ' ' Set @cols = @cols + 1 End --结束2 Print @gap --清空字符串重新赋值 Set @gap = '' Set @rows = @rows + 1 Set @cols = 1 End --结束1 Go
2022年10月15日
23 阅读
0 评论
0 点赞
2022-10-15
SQL设计ATM案例(ER)模型图
设计数据库设计数据库的步骤收集信息与该系统有关人员进行交流、座谈充分了解用户需求理解数据库需 要完成的任务标识实体 (Entity)标识数据库要管理的关键对象或实体,实体一般是名词标识每个实体的属性(Attribute)标识实体之间的关系(Relationship)绘制E-R图ER图的组成 映射基数ER图演示转化E-R图为数据库模型图将各实体转换为对应的表,将各属性转换为各表对应的列标识每个表的主键列 在表之间建立主外键,体现实体之间的映射关系数据库规划设计三大范式第一范式的目标是确保每列的原子性,如果每列都是不可再分的最小数据单元(也称为最小的原子单元)则满足第一范式(1NF)第二范式是在第一范式的基础上,确保表中的每列都和主键相关如果一个关系满足2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(3NF)第一范式(图示)第二范式(图示)第三范式(图示)ER图练习题目要求:实体:客户信息、银行卡信息、交易信息、存款类型、货币类型实体属性:客户信息UserInfo属性:顾客编号CustomerID、开户名CustomerName、身份证号PID、联系电话Telephone、居住地址Address银行卡信息CardIDInfo属性:卡号cardID、顾客编号CustomerID、密码Password开户日期OpenDate、开户金额openMoney、存款类型SavingID,货币类型CurID、余额Balance、是否挂失IsReportLoss交易信息TradeInfo属性:卡号CardID、交易日期TransType、交易金额TransMoney、备注Remark存款类型属性:存款类型号SavingID、存款类型名称SavingName、描述Descrip货币类型:货币种类号CurID、货币种类名称CurName、描述Descrip实体间关系:客户和银行卡有主从关系银行卡和交易信息有主从关系银行卡和存款类型有主从关系银行卡和货币类型有主从关系根据实体属性,画出 银行ATM存取款机系统ER图根据ER图,画出 银行ATM存取款机系统 数据库模型图根据数据库设计的三大范式, 做出 银行ATM存取款机系统 数据字典
2022年10月15日
50 阅读
0 评论
0 点赞
2022-04-14
SQL Sever 基本语句
基本语句:--创建库: Create database 数据库名 --创建表: Create table 表名 ( 列名1数据型列的约束, 列名2数据类型列的约束, ... ) --删除库: Drop database 数据库名 --删除表: Drop table 表名常见的约束:主键约束(primary key Constraint)标识自增(identity Constraint)唯一约束(unique Constraint)检查约束(check Constraint)默认约束(default Constraint)外键约束(foreign key references Constraint)添加约束语句:--添加主键标识约束 Alter table 表名 add Constraint PK_表名_列名 primary key identity (字段名) --添加检查约束 Alter table 表名 add Constraint CK_表名_列名 check (表达式条件) --添加默认约束 Alter table 表名 add Constraint DF_表名_列名 default (默认内容) for 字段名 --添加唯一约束 Alter table 表名 add Constraint UQ_表名_列名 unique (字段名) --添加外键约束 Alter table 表名 add Constraint FK_表名_列名 foreign key (字段名) references 表名 (字段名) 增删改查语句:--增加数据: Insert into 表名(列名1,列名2....) values(值1,值2...) --删除数据: Delete from 表名 where 列名=’?’ --修改数据: Update 表名 set 列名=’修改后数据’ where 列名=’修改前的数据’ --查询数据: Select * from 表名 where 列名=’?’修改数据类型:--修改数据类型语句 Alter table 表名 alter column 列名 新的数据类型四种完整性约束实体完整性 实体完整性指表中行的完整性。要求表中的所有行都有唯一的标识符,称为主关键字。能够唯一标识表中的每一条记录实现方式:主键、唯一键、IDENTITY属性约束方法:唯一约束、主键约束、标识列域完整性 域完整性能够保证表中的数据是合法的数据 表中特定列数据的有效性,确保不会输入无效的值实现方式:类型、缺省值、约束、空值约束方法:限制数据类型、检查约束、外键约束、默认值、非空约束引用完整性 引用完整性是指某列的值必须与其他列的值匹配 维护表间数据的有效性、完整性实现方式:建立外键联系另一表的主键约束方法:外键约束自定义完整性 根据业务处理流程定义的特定业务规则实现方式:存储过程、触发器、规则约束方法:规则、存储过程、触发器
2022年04月14日
117 阅读
0 评论
2 点赞
2022-02-24
SQL server课堂笔记 持续更新
课堂笔记一、数据完整性包括可靠性+准确性(一)实体完整性(行完整性)概念:是对关系中的记录唯一性,也就是主键的约束约束方法∶唯一约束、主键约束、标识列(二)域完整性(列完整性) 概念:是对表中字段属性的约束约束方法︰限制数据类型、检查约束、外键约束、默认值、非空约束(三)参照完整性(引用完整性) 概念:对不同数据表中数据相关联的约束约束方法:外键约束二、新建数据表1、找到需要建表的数据库,点开后找到 “表”2、鼠标右键“表”,点击“新建表”3、根据给定的数据进行填写列名、数据类型和描述4、填写完成后保存,系统跳出需要填写的表名三、查看数据表鼠标右键点击刚新建的数据表,选择“编辑前200行”或者“选择前1000行”四、保存后设计不了的问题保存数据表后重新设计保存不了的解决方法(“阻止保存要求重新创建表的更改”)1、点击面板上的“工具”菜单,选择“选项”2、点击“设计器”,把“阻止保存要求重新创建表的更改”前面的勾去掉、点击“确定”五、设置主健1、鼠标右键点击需要设置主键的表,点击“设计”2、选中需要设置主键的字段,鼠标右键点击“设置主键”六、设置默认值1、选择表,右键点击“设计”2、选择需要设置默认值的字段,在"列属性"中的"默认值或绑定"后写上默认值,默认值需要用单引号〔英文状态下)包裹七、设置唯一(unique)约束1、选择表,右键点击“设计"2、选中字段后鼠标右键,选择"索引/键"3、在弹出框点击"添加"4、在“常规”中“列”的右边选择需设置唯一值的列5、在“是唯一的”右边选择“是”6、在"标识"中的“名称”修改为IX_表名_字段名7、点击"关闭",点击保存或者Ctrl+S(注意:如果不需要此约束,则点击删除)八、设置检查约束(check)1、选择表,右键点击"设计"2、选择需要设置检查约束的字段,鼠标右键点击"CHECK约束3、在弹出框点击添加4、在"常规"中的“表达式”右边输入表达式(例子:性别:Sex='男' or Sex='女' 出生日期:BronDate > '1980-01-01') 5、点击保存或者Ctrl+S九、设置标识列-identity (自增列)1、选择表,右键点击"设计"2、点击需要设置标识列的字段,在"列属性"中找到"标识规范"3、点击“标识规范”,(是标识)选择“是”4、点击保存或者Ctrl+S十、设置外键-foreign key1、选择表,右键点击“设计"2、选择需要设置外键的字段,鼠标右击选择“关系"3、在弹出框中"表和列规范"右边点击"…"4、在弹出框选择主键表以及字段名,外键表选择字段名(拥有外键的叫外键表,拥有主键的叫主键表)5、修改名称,关闭,点击保存或者Ctrl+s第三章笔记一、创建数据库语法:Create database数据库名 on [primary] ( <数据文件参数>[ , …n] [<文件组参数>] ) [log on] ( <日志文件参数>[ , …n] )例子:创建MySchool数据库Create database MySchool on primary ( name='MySchcol', --主数据文件的逻辑名 size=5MB, --初始大小 fileGrowth=15%, --增量 maxSize=100MB, --增长的最大值 fileName='E:\project\MySchool.mdf' --物理名 ) log on ( name='MySchool_log', size=2MB, fileGrowth=1MB, maxSize=10MB, fileName='E:\project\MySchool_log.ldf' ) go二、删除数据库语法:--删除基础语句 drop database 数据库名三、创建表语法:--创建基础语句 Create table 表名 ( 列名1数据型列的约束, 列名2数据类型列的约束, ... )列的特征∶ 包括该列是否为空( null/not null )、标识列(自动编号identity )、默认值(default)、主键(primary key)、外键( foreign key) references )、唯一性(unique)、检查约束( check )等--创建表示例 Use MySchool --将当前数据库设置为MySchool Create table Student --创建学生信息表 StudentNo varchar(64) primary key not null, --学号,非空(必填) LoginPwd nvarchar(32) defualt('123456') not null, --密码,非空(必填) StudentName nvarchar(64) not null, --姓名,非空(必填) Sex char(2) not null, --性别,非空(必填) --bit类型表示 GradeID int not null, --年级号(必填) Phone nvarchar(256) unique not null, --电话 BornDate datetime check(BornDate>= ‘1980-01-01’ ) not null, --出生日期(必填) Address nvarchar(255) default(N'学生宿舍'G), --ade表创建后面添加外键址Email nvarchar(64) nuli --邮件帐号
2022年02月24日
288 阅读
2 评论
9 点赞