数据库_存储过程&范式
创建存储过程的外壳
delimiter $
create procedure test(userId int)
begin
end $
delimiter ;
存储过程if(begin 和 end $之间)
1、声明变量username
declare username varchar(32) default ' ';
2、if语句
if(userId%2=0)
then
#查询语句,将用户表的名字放到username变量
select name into username from user where id=userId;
#将变量username查出
select username;
else
select userId;
end if; if语句的结束标志
存储过程while(begin 和 end $之间)
1、声明变量i
declare i int default 0;
2、while语句
while(i<10) do
begin
select i;
set i=i+1;
insert into test(id)values(i);
end;
end while; 结束循环
存储过程repeat(begin 和 end $之间)
1、声明变量i
2、repeat循环
repeat
begin
select i;
set i=i+1;
insert into test(id)values(i);
end;
until i>=10
end repeat; 结束循环
创建函数
delimiter $
create function getusername(userid int) returns varchar(32)
reads sql data -- 从数据库中读取数据,但不修改数据
begin
declare username varchar(32) default '';
select name into username from users where id=userid;
return username;#返回变量username
end $
delimiter ;
select getusername(2);
第一范式:数据库表的每一列都是不可分割的基本数据项
第二范式:在第一范式的基础上没有部分依赖
部分依赖:某个属性既依赖于主键又依赖于其他属性,不能缺失任一个
第三范式:在第一范式和第二范式的基础上没有传递依赖
传递依赖 : 某个属性既对应了主键又对应了其他属性,可以缺失其中一个
-用户名、密码、注册日期、生日、浏览商品编号、浏览商品名字、浏览商品日期、收藏商品编号
-收藏商品编号、收藏商品名字、收藏商品日期、商品编号、商品名字、商品类别、商品店铺编号、店铺名字、店家名字、购物车记录、购买记录
-用户名、密码、注册日期、生日
-用户名、浏览商品编号、浏览商品名字、浏览商品日期
-用户名、收藏商品编号、收藏商品名字、收藏商品日期、商品编号
-商品编号、商品名字、商品类别、商品店铺编号
-商品店铺编号、店铺名字、店家名字
-用户名、购物车记录、购买记录
CREATE DATABASE taobao DEFAULT CHARSET utf8;
USE taobao;
CREATE TABLE register(USER VARCHAR(20),PASSWORD CHAR(20),DATE DATE,birthday DATE);
CREATE TABLE liulan(USER VARCHAR(20),liuId INT,liuName VARCHAR(20),liuDate DATE,PRIMARY KEY(USER,liuId));
CREATE TABLE shoucang(USER VARCHAR(20),shouId INT,shouName VARCHAR(20),shouDate DATE,shangId INT,PRIMARY KEY(USER,shouId));
CREATE TABLE shangpin(shangId INT,shangName VARCHAR(20),shangLeibie VARCHAR(20),shangDpId INT,PRIMARY KEY(shangId,shangName));
CREATE TABLE spStore(spStoreId INT,StoreName VARCHAR(20),StoreHostName VARCHAR(20),PRIMARY KEY(spStoreId,StoreName));
CREATE TABLE jilu(USER VARCHAR(20) PRIMARY KEY,gouwucheJiLu VARCHAR(50),goumaiJiLu VARCHAR(50));

浙公网安备 33010602011771号