
1.对于一个数据库表,可以有 1 个主键和 多 个外键。
2.为了防止一个用户的工作不适当的影响另一个用户,应该采取(c)
a完整控制 b,安全性控制 c,并发控制 d,访问控制
3.关系数据库中,实现实体之间的联系是通过表与表之间的(d)
a,公共索引 b,公共存储 c,公共元组 d,公共属性
4,sql 语言集数据查询,数据 *** 纵,数据定义,数据控制功能与一体,充分体现了关系数据库语言的特点和优点。
5,触发器可以在 插入,删除或修改特定表中的数据 中的一种或几种 *** 作发生时自动执行。
6,请列数据库编程中连接 sql server 数据库的三中不同技术:dsn,dsn-less,oledb
7,请举出实体间具有一对一,一对多,多对多联系的例子。
8,简要说明事务的原子性?事务的原子性指的是,事务中包含的程序作为数据库的逻辑工作单位,它所做的对数据修改 *** 作要么全部执行,要么完全不执行。这种特性称为原子性。
事务的原子性要求,如果把一个事务可看作是一个程序,它要么完整的被执行,要么完全不执行。就是说事务的 *** 纵序列或者完全应用到数据库或者完全不影响数据库。这种特性称为原子性。
假如用户在一个事务内完成了对数据库的更新,这时所有的更新对外部世界必须是可见的,或者完全没有更新。前者称事务已提交,后者称事务撤消(或流产) 。dbms必须确保由成功提交的事务完成的所有 *** 纵在数据库内有完全的反映,而失败的事务对数据库完全没有影响。
9,简要说明为什么存储过程执行速度比普通的 sql 更快而且减少网络流量?谁都知道存储过程是预编译的存储过程其实就是能完成一定 *** 作的一组 sql 语句,只不过这组语句是放在数据库中的这里我们只谈 sql server。如果我们通过创建存储过程以及在 asp 中调用存储过程,就可以避免将 sql 语句同 asp 代码混杂在一起。这样做的好处至少有三个:
第一、大大提高效率。存储过程本身的执行速度非常快,而且,调用存储过程可以大大减少同数据库的交互次数。
第二、提高安全性。假如将 sql 语句混合在 asp 代码中,一旦代码失密,同时也就意味着库结构失密。
第三、有利于 sql 语句的重用。
应用题:0s
studentbaa
学号 姓名 性别 年龄 所在系
sno sname ssex sage sdept
courseb
课程编号 课程名 学分
cno cname ccredit
学号 课程编号 成绩
sno cno gradepr
1,查询所有学过课程“数据库”的学生姓名,并且按年龄从大到小排序select stu.sname stu.sage from student stucoursesc where stu.snosc.snoand sc.cnocourse.cno and course.cname‘数据库‘
2,查询平均分数为 85 以上的学生名单和平均得分select stu.sname from student stusc where stu.snosc.sno and avgsc.grade85
3,新增加一门 2 个学分的课程,编原理 课程编号为 1005 (char 型)insert into coursecnocnameccredit values‘1005’”编译原理” ,2fapos
4,在选修关系 sc 表中,建立序号和课程编号的唯一索引。
5,学生信息中,要增加身份z号码字段 类型为 char 长度 18 非空alter table student addcredit_id char18 not null
6,删除 sc 表中学号已经不存在的记录delete from sc where sno not inselect maxrowid from sc group by snocnograde
7,写出 sql 语句得到下列结果
所在系 男生人数 女生人数 总人数
select sdeptcount from student group by ssex
所在系 15《年龄〈18 18〈年龄〈20 的人数 其他年龄的人数 总人数 12
1、写C语言的拷贝函数,要求复制字符串,并且将复制后的字符串逆序比如form中是1234, 则to中是4321
void strcyp(char * to,const char * form)
不能使用库函数 不能定义其他的变量
最佳答案
int main()
{
char a[10],b[10]
printf("请输入a字符可以随意输入小于10个字符")
/*这里不知道为什么查过10个就前面一部分对
且a字符串就没有值了你可以自己事实*/
scanf("%s",a)
printf("a字符串:%s\n",a)
turncopyto(a,b)
printf("b字符串:%s\n",b)
printf("a字符串:%s\n",a)
return 0
}
void turncopyto(char *q,char *p)
{
int length,i,j
for(length=0length++)
{
if(q[length]=='\0')
break
}
j=length-1
for(i=0i
{
// *(p+i)=*(q+(j--))
p[i]=q[j--]
}
// *(p+i)='\0'
p[i]='\0'
}
第一个编程题:
827328929 数字反转,不能使用类库,不能使用数组。
第二个编程题:
public int[] getNum(aArray[] ,bArray[]){ }
求出数组aArray[] ,和bArray[]两个数组的交集,交集放在数组中返回。
数据库题目:
学生表(student){学好,姓名,年龄,所在系}
课程表(course){课程编号,课程名,学分}
关系表(sc){学号,课程编号,成绩}
1、查询出选修了“数据库”的学生姓名。
2、查询平均成绩大于85分的学生姓名和平均成绩(悲剧的没有写出来)
3、添加一个课程信息(“Java”,’1001‘,2)
4、添加一个唯一索引
5、在学生表中添加身份z列,大小18,非空
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)