sql-有哪位大神能说说吗?关于SQL

问题描述

有哪位大神能说说吗?关于SQL

在E-R图转换为关系模式过程怎么知道那个是主码?有哪位大神能说说吗?关于SQL

解决方案

E-R图中用箭头或者1:N之类的标记表示。箭头出发的一端,或者1:N的1,就是主键。

解决方案二:

简单说,主键的定义已经说明如何知道哪个是主键。主键就是那个其它所有字段都直接依赖的字段。所以,其实你的问题应该是如何知道哪个字段是其它所有字段都直接依赖的字段?
好嘛,其实作为初学者来说,的确很难判断哪个字段是其它字段都依赖,而且还是直接依赖的。那教你两个办法吧。
首先我们可以去掉那些选填的字段,因为主键要求必填呀,所以选填字段必然不可能成为主键。
第二我们可以在第一步的基础上在剩下来的字段中去掉那些值可以重复的字段,因为主键规定了值必须唯一,所以值可重复也必然不可能成为主键。
好了,剩下来的都可以做主键了。
啥?剩得太多?那就挑个顺眼的,如果每个都顺眼?那就写小纸条抓阄。
哦,你觉得抓阄太草率了?那我出个绝招给你。实在不好决定用哪个字段作主键,那就加一个整型字段,名字叫id,把它设置为主键。
别瞪眼,在实际项目中,我真的是按上面的步骤来决定主键的!

时间: 2024-10-25 15:02:15

sql-有哪位大神能说说吗?关于SQL的相关文章

关于sql,有哪位大神能谁说嘛?怎么弄4个表的关联?

问题描述 关于sql,有哪位大神能谁说嘛?怎么弄4个表的关联? 消息 4104,级别 16,状态 1,第 2 行 无法绑定由多个部分组成的标识符 "客房标准信息.roomNo". 消息 207,级别 16,状态 1,第 1 行 列名 'roomPrice' 无效. 消息 207,级别 16,状态 1,第 1 行 列名 'roomArea' 无效. 解决方案 没看到你的sql语句,,应该是关联没写好 解决方案二: roomNo不唯一吧!不发进行确认 解决方案三: 多个表之间用join等来

sql server-关于SQL Server的有哪位大神能说说吗?

问题描述 关于SQL Server的有哪位大神能说说吗? 关于SQL Server的有哪位大神能说说吗?SQL Server怎么换皮肤? 解决方案 382. Speech is silver, silence is gold. 能说是银,沉默是金SQL Server 2005:向系统表说再见例说SQL Server 2012 数学函数 解决方案二: SQL SERVER不能换皮肤 解决方案三: 管理器本身不支持换主题的功能,你只能通过修改配色方案实现,网上有些现成的配置你可以导入.但我觉得效果不

sql-有哪位大神能说说嘛?关于SQL

问题描述 有哪位大神能说说嘛?关于SQL 要统计每个学生的总学分是对什么分组?有哪位大神能说说嘛?关于SQL select student.sno,COUNT(ccredit) from student,sc,course where student.sno=sc.sno and sc.cno=course.cno group by sname 系统提示消息 8120,级别 16,状态 1,第 1 行 选择列表中的列 'student.sno' 无效,因为该列没有包含在聚合函数或 GROUP B

sql-有哪位大神能解决这个问题吗?SQL

问题描述 有哪位大神能解决这个问题吗?SQL .创建一个insert触发器,名称为t1,当在student表中插入一条新记录时,给出'你插入了一条新记录!!!'的提示信息.create Trigger t1on student AFTER insertASif (select COUNT(*) from student s join inserted ion i.sno=s.sno)>10beginprint '你插入了一条新记录!!!'ROLLBACKENDinsert into studen

java-一段小小的代码看了一晚上了还是出不了结果,哪位大神能帮忙一下啊

问题描述 一段小小的代码看了一晚上了还是出不了结果,哪位大神能帮忙一下啊 package sjk; import java.sql.*; public class sjkText { public static void main(String[] args) { Connection ct=null; Statement sm=null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); ct=DriverManager.get

c++-哪位大神能帮我讲解一下这个语句?id为什么是那么写的呢?

问题描述 哪位大神能帮我讲解一下这个语句?id为什么是那么写的呢? id1="select manage_pwd,manage_name,manage_position from manager where manage_id = '"+id+"';"; 最后的id格式为什么会有双引号加分号又有前后加号? 解决方案 id是一个变量,加上一个双引号表示字符串,单引号是sql语句中字符串表示方法

哪位大神能帮我解读一下代码 万分感谢

问题描述 哪位大神能帮我解读一下代码 万分感谢 有关色偏检测的 double operation::colorCastDetection(IplImage pFrame) { IplImage labFrame = cvCreateImage(cvGetSize(pFrame),pFrame->depth,pFrame->nChannels); cvCvtColor(pFrame,labFrame,CV_BGR2Lab); double da = 0;//色度a的平均值 double db =

htmlcxx中css文件解析中yyparse有内存泄露,哪位大神能不能帮忙看一下

问题描述 htmlcxx中css文件解析中yyparse有内存泄露,哪位大神能不能帮忙看一下 使用最新版的htmlcxx0.85版,把内部的css解析部分抽出之后,检测出内存泄露

网络编程-哪位大神能告诉我TCP连接池是干吗用的

问题描述 哪位大神能告诉我TCP连接池是干吗用的 如题,通俗易懂的说法有吗?我们老师说是一个包,那我应该怎么管理它 解决方案 http://zhuweisky.cnblogs.com/archive/2006/03/16/351301.html 解决方案二: 凡是带有"池"的,比如数据库连接池.对象池.缓冲区池(后面可以看到IBuffPool)等等,都是为了避免资源的反复创建/销毁所带来的开销.需要为哪些资源对象建立"池"了?这些资源对象通常符合下面几个特性: (1