当前位置:首页 » 编程语言 » sql用户表设计
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql用户表设计

发布时间: 2022-09-22 12:01:08

⑴ 用sql建立一个数据库,聊天软件的,先建一个用户表(帐号,密码....),好友表(Id,HostId,FriendId..)

不就是写数据,读数据么?
在界面上发送消息的时候,其实就是将数据插入到聊天信息表中,
别人收消息就是从里面读取数据。

触发器,存储过程可用可不用。
如果要用的话,我想:
触发器用于自动生成消息ID的编号
存储过程用于插入数据,里面包含的不过就是INSERT语句

⑵ sql两个表,一个角色表,一个是用户表,一个用户可拥有多个角色,如何统计每个用户所有角色权限值总和

selectsum(LIMITPARTVALUE)from角色表whereIDin(selectLIMITPARTIDfrom用户表whereUSERID='XXXXX')

USERID='XXXXX' 输入你指定的ID,你看看结果是你想要的结果吗?

⑶ 健身俱乐部会员管理系统(设计) 我想知道,如果用SQL见表的话,都有哪几个表。。

这个很难说,一百人可能有一百解,侧重点不同,表也不同,大家可以一起讨论下:
1)人员表 (姓名、性别、证件号、电话)PK: 证件号
2)会员卡信息表(卡号、金额、状态)PK:卡号
3)会员卡人员对照表(姓名、证件号、卡号) PK:卡号
4)消费信息表(卡号、日期、消费内容、消费金额)
5)会员卡操作历史(卡号、操作、日期)

4、5 两张表PK不是太好定,看你打算放哪些信息进去和实际的业务
我觉得以上5张表应该就OK了!
希望能帮到你~

⑷ 在sql2005中设计商品信息表,我想要最后查询商品时商品信息和商品图片一起显示,要几个表

给你个酒店信息表的例子,照着打就行了
酒店信息表(酒店编号、酒店名称、酒店类型、房间类型、房间数量、房间价格)酒店编号、房间类型是主键
用户信息表(用户编号、用户名称、用户电话、入住时间、离开时间)用户编号是主键
预定表(用户编号、酒店编号、房间类型)用户编号是主键

比如通过用户编号就可以查到用户信息和用户预定的酒店和房间类型

⑸ SQL 用户与好友表的设计

⑹ 我用SQL 2008建立了一个数据库test,并建了一个用户表user,里面添加了用户名和密码两个

我是这么做的,首先建立一个DBHelper的类,将数据库的连接和sql语句等都写在这个类里面,然后再到登录窗体那儿写代码,给你一个我现在正在做的实例,还没有做完,不过够你学习了,我也没学ado.net很久,不过数据库的增删改差还是会的,我也还正在学习,希望能够一起学习,一起进步

⑺ 我用sql数据库,用户表最好用什么做主键比较好

主键是唯一标识一条用户记录(用户名、用户密码等)的属性,不能重名。个人觉得用自定义数字编码最好(可设置自动编码)。

⑻ 如何用sql语句遍历一个用户表,然后在数据表为每个用户添加一条新记录

sql语句遍历一个用户表 涉及到循环操作 ,添加纪录就是简单的insert操作
不同的数据库的稍有不同。
还要处理数据库表主键的不同设置情况。
循环操作+添加操作的案例:(oracle)
1:主键采用自加方式实现
delete from whilestu1;
commit;

DECLARE
num1 number;
maxstuid number;
age number;
begin
num1 := 1;
WHILE num1 <= 100 LOOP
--获取最大的stuid
select max(stuid) + 1 into maxstuid from whilestu1;
--dbms_output.put_line(maxstuid);
if maxstuid is null then
maxstuid := 1;
--dbms_output.put_line('r');
end if;

age := ROUND(DBMS_RANDOM.VALUE(18, 40), 0);
--插入数据
insert into whilestu1
(stuid, stuName, age)
values
(maxstuid, '学员' || cast(maxstuid as varchar2(50)), age);
commit;

num1 := num1 + 1;
END LOOP;

end;
/
2:使用触发器声称主键的方式

CREATE OR REPLACE TRIGGER trg_whilestu2
BEFORE INSERT OR UPDATE OF stuid
ON whilestu2
FOR EACH ROW
BEGIN
IF INSERTING THEN
SELECT SEQ_whilestu2.NEXTVAL INTO :NEW.stuid FROM DUAL;
ELSE
RAISE_APPLICATION_ERROR(-20020, '不允许更新ID值!');
END IF;
END;
/

delete from whilestu2;

select * from whilestu2;

commit;
--select SEQ_whilestu2.Nextval from al;

DECLARE
num1 number;
maxstuid number;
age number;
begin
num1 := 1;
WHILE num1 <= 100 LOOP

age := ROUND(DBMS_RANDOM.VALUE(18, 40), 0);
select SEQ_whilestu2.Currval + 1 into maxstuid from al;

--插入数据
insert into whilestu2
(stuName, age)
values
('学员' || cast(maxstuid as varchar2(50)), age);
commit;

num1 := num1 + 1;
END LOOP;

end;
/
3:使用GUID生成主键的方式

select sys_guid() from al;

DECLARE
num1 number;
--maxstuid number;
age number;
stuid raw(16);
begin
num1 := 1;
WHILE num1 <= 100 LOOP

age := ROUND(DBMS_RANDOM.VALUE(18, 40), 0);

select sys_guid() into stuid from al;
--插入数据
insert into whilestu3
(stuid, stuName, age)
values
(stuid, '学员' || cast(num1 as varchar2(50)), age);
commit;

num1 := num1 + 1;
END LOOP;

end;
/

⑼ SQL Server 2005 设计用户表时,身份验证号固定18位长,对该字段最好采用()数据类型

b char
因为首先char是一个固定长度的字符型数据
那么在都是字符的情况下
还有,它的效率要比varchar高
text是长文本,int是整型,这里就别做考虑了