데이터베이스 원리 및 응용 컴퓨터 실험 4

실험 이름: 실험 4, 데이터 업데이트 및 보기
 
실험 목적
1. SQL 의 일반적인 데이터 업데이트 작업 을 능숙 하 게 파악 한다.2. INSERT, UPDATE, DELETE 문 구 를 능숙 하 게 활용 한다.3. 업데이트 작업 의 다양한 형식 을 파악 합 니 다.4. 보기 의 생 성, 업데이트, 삭제, 조 회 를 파악 합 니 다.
 
실험 절차 와 디 버 깅 과정 (간단 한 문자 로 설명 하 십시오)
(1)        (  :95030,  :  ,  :18);
(2)        (95030,1);
(3)          20;
(4)           0;
(5)                5 ;
(6)  2      ,     75   5%,    75   4%(      ,    );
(7)  95030    ;
(8)  SC        ;
(9)         ;
(10)             ;
(11)            ;
(12)              80      、     ,               STU(SNO,SNAME,SSEX) ;
(13)                   ;
(14)       1;
(15)  3                   、           。
(16)     、   、           ,     。
(17) Student               F_STU,                     。
(18)       F_STU  ,               ,      、  、  、     。
(19)             3      。
(20)    F_STU。

 
실험 결과 (실험 결과 캡 처 또는 간단 한 문자 설명 업로드)
1.                   。

2.      insert into    + 。

3.    update。

4.      delete           。

5.          create view。

 
난제
1.     ,    where   ,             ,          ,     。
2.         ,   update where  , where          ,           update   ,             。
3.         ,          ,          。       ,       。

 
실험 상세 조작 과정 또는 프로그램 목록
(1)        (  :95030,  :  ,  :18)

insert into student(sno,sname,sage)
values ('95030','  ',18)

(2)        (95030,1)

insert into sc(sno,cno)
values('95030',1)

(3)          20

update student
set sage=20
where sdept='CS'

(4)            0

update sc
set grade=0
where 'MA'=
(select sdept
from student
where student.sno=sc.sno)

(5)                5 

update sc 
set grade+=5
where grade<
(select avg(grade) 
from sc inner join student
on student.sno=sc.sno
where ssex=' ')

(6)  2      ,     75   5%,    75   4%(      ,    )
update sc
set grade=grade*(1+0.05)
where cno='002' and grade<75;

update sc 
set grade=grade*(1+0.04)
where cno='002' and grade>75;

(7)  95030    

delete
from student
where sno='95030'

(8)  SC        

delete 
from sc
where grade is null;

(9)         

delete
from sc
where sno=(select sno from student 
where sname='  ')

(10)             

delete
from sc
where sno in (select sno from student where sdept='MA')

(11)            

delete
from sc
where grade<60

(12)              80      、     ,               STU(SNO,SNAME,SSEX) 

create table STU 
(sno char(8), 
sname char(8), 
ssex char(2) 
)

insert into STU(sno,sname,ssex)
select distinct student.sno,sname,ssex
from student,sc 
where student.sno not in
(select sno from sc where grade<80) and student.sno=sc.sno

(13)                   

create table stu1
(
sno char(8),
cno char(3)
);
insert into stu1(sno,cno)
select sno,cno
from sc;

(14)       1

update student
set sage=sage+1;

(15)  3                   、           

create table stu2
(
sname char(8),
sdept char(20)
);
insert into stu2(sname,sdept)
select sname,sdept
from student
where sno in
(
select distinct sno
from sc
where grade<60
group by sno
having count(grade)>=3
); 

(16)     、   、           ,     。

create view grade_sum_avg
as
 select sno,sum(grade) as totalgrade,avg(grade) as avg_grade
 from  sc
 group by sno;
 
(17) Student               F_STU,                     。
 
create view F_STU(sno,name,dept,sex,age) 
    as
        select *
        from student
        where ssex=' ';
        with check option;
        
(18)       F_STU  ,               ,      、  、  、     。 

alter view F_STU(sno,ssex,sage,cno)
   as
     select student.sno,ssex,sage,cno from student,sc
     where student.sno=sc.sno and ssex=' '
     
(19)             3      。     

select    F_STU.sno,sname,cno
from      F_STU,sc
where     F_STU.sno=sc.sno and
          sc.cno='3';
          
(20)    F_STU          

drop view F_STU;

좋은 웹페이지 즐겨찾기