中国電子科学技術大学データベースおよびソフトウェア工学実験報告書 2

ネットワーク工学およびモノのインターネット専攻(情報通信)に適用

この実験は最終試験の一部でもあります

目次

ネットワーク工学およびモノのインターネット専攻(情報通信)に適用

1. 実験目的

2. 実験内容

3. 実験用ソフトウェア

4. 実験手順とデータ記録

1. SQL Developerを使用してテーブルをインポートする

2. データベースのテーブルとフィールドの基本操作

3. 簡単なクエリ

4. 高度なクエリ

5. 実験の結論と疑問

6. まとめと経験

7. 実験プロセス、方法、手段を改善するための提案


1. 実験目的

1. Oracle 環境に精通し、SQL Developer を使用して Oracle と対話する方法を学びます。

2. 基本的なデータベース テーブルを確立し、テーブル構造を表示、変更、削除します。

3. テーブル内のデータの挿入、削除、変更、クエリの方法を学びます。

2. 実験内容

SQL Developerで学生ユーザーを使用してOracleデータベースに接続し、BONUS、DEPT (部門テーブル)、EMP (従業員テーブル)およびSALGRADE (給与等級テーブル)の4つのテーブルをインポートし、単純な問合せと高度な問合せ操作を実行し、学生を作成します。情報テーブル (INFOS) とスコア テーブル (SCORES) は、データベース テーブルとデータの挿入、クエリ、更新、削除などの基本的な操作を実行します。

3. 実験用ソフトウェア

Oracleデータベース、SQL開発者

4. 実験手順とデータ記録

1. SQL Developerを使用してテーブルをインポートする

(1) 学生ユーザーを使用してデータベースに接続し、ロールに「デフォルト」を選択します。

(2) SQL スクリプトをワークシートウィンドウに貼り付け、「スクリプトの実行」ボタンをクリックすると、インポートが成功すると、クエリされた DEPT、EMP、SALGRADE テーブルのデータ内容は下図のようになります。

関連するスクリーンショットは次のとおりです。

図1

図2

 

画像3

2. データベースのテーブルとフィールドの基本操作

2.1 学生情報テーブルと制約の作成

スクリプトを挿入すると、関係テーブルを取得できます。

 

次の図に示すように、INFOS テーブルが正常に作成されたら、「列」と「制約」の内容を表示します。

 

図4

図5

 

2.2 スコアテーブルと制約の作成

スクリプトの挿入

 

SCORES テーブルが正常に作成された後、「列」と「制約条件」の内容を表示します。結果は図のとおりです。

 

図6

 

図7

2.3 データの挿入

データを挿入するには、insert コマンドを使用します。

 

データが正常に挿入されたら、図に示すように INFOS テーブルを表示します。

図8

 

2.4 単純なクエリデータ

SELECT コマンドを使用して学生情報テーブル (INFOS) をクエリし、性別 (GENDER) が「男性」であるすべての学生の名前 (STUNAME)、性別 (GENDER)、年齢 (AGE)、および住所 (STUADDRESS) 情報を取得します。年齢順に並べ替えます。

クエリ コマンドは次のとおりです。SELECT STUNAME,GENDER,AGE,STUADDRESS FROM INFOS WHERE GENDER=‘ Male’ ORDER BY AGE;

結果は次のとおりです。

図9

 

2.5 データの更新

UPDATE コマンドを使用して、学生情報テーブル (INFOS) 内の学生名 (STUNAME) が「Ruan Xiaoer」である次の情報を更新します。

班号(CLASSNO)改为“1002” 住址(STUADDRESS)改为“山东莱芜”

クエリ コマンドは次のとおりです:UPDATE INFOS SET CLASSNO='1002',STUADDRESS='Shandong Laiwu' WHERE STUNAME='Ruan Xiaoer';

クエリ結果は図に示すとおりです

図10

 

2.6 特定のデータを削除する

DELETE コマンドを使用して、生徒情報テーブル (INFOS) 内の中学校 ID (STUID) "s100102" の生徒情報を削除し、SELECT コマンドを使用して生徒情報テーブル (INFOS) 内のすべての情報をクエリします。

删除 コマンド:DELETE FROM INFOS WHERE STUID=‘s100102’;

削除後の結果を図に示します。

図11

 

3. 簡単なクエリ

 Oracle に付属の 3 つのテーブル、EMP テーブル (従業員テーブル)、DEPT テーブル (部門テーブル)、および SALGRADE テーブル (給与等級テーブル) を使用します。

1) 各従業員の年末ボーナスは 2,000 元です。EMP テーブルをクエリして、基本給が 2,000 元を超える従業員の名前、給与、およびボーナスを除く年間給与総額情報を取得します。

関連コマンド:

SELECT ENAME,SAL,12*SAL FROM EMP WHERE SAL>2000;

検索結果:

 

図12

 2) EMP テーブルをクエリして、給与が 2,000 元を超える従業員の名前と勤務情報を取得します。

4. 高度なクエリ

1) EMP テーブル内の従業員の部門番号を照会します。

分析: 1 つの部門に複数の従業員がいる場合、クエリは 1 つの結果のみで済み、複数のデータをクエリする必要はありません。

関連するコマンドは次のとおりです。

EMP から異なる DEPTNO を選択してください。

図13

 

2) 給与が 2,000 未満でボーナスを受け取っていない従業員を照会します。

ステップ 1: 給与が 2,000 未満の従業員をクエリします。

SAL<2000; の EMP から ENAME、JOB、SAL、COMM を選択してください。

図14

 

ステップ 2: 給与が 2,000 未満でボーナスを受け取っていない従業員をクエリする

SAL<2000 および COMM が NULL の場合、EMP から ENAME、JOB、SAL、COMM を選択します。

図15

 

3) 職務責任がセールスマン、社長、またはアナリストである従業員を照会する

EMP から ENAME、JOB、SAL を選択してください

どこで働くか (「セールスマン」、「社長」、「アナリスト」);

図16

 

4) 給与が 1000 ~ 2000 の従業員をクエリする

ENAME、JOB、SAL を EMP から選択します。SAL は 1000 ~ 2000 です。

図17

 

5) 名前が J で始まり S で終わる従業員の名前、給与、給与をクエリします。

SELECT ENAME,JOB,SAL FROM EMP WHERE ENAME LIKE 'J%S';

図18

 

6) DEPT テーブルに従業員がいない部門番号をクエリします。

DEPT から DEPTNO を選択します。マイナス EMP から DEPTNO を選択します。

図19

 

7) 月給が 2,000 元を超える従業員の名前、役職、給与、部門名を照会します。

SELECT e.ENAME、e.JOB、e.SAL、d.DNAME

FROM EMP e,DEPT d  WHERE e.DEPTNO=d.DEPTNO

および e.SAL>2000;

図20

 

5. 実験の結論と疑問

実験結果:

SQL 言語を使用して、データベース内のリレーショナル テーブルに対するクエリ、挿入、削除などの操作を学習します。< a i =3>SQL言語を柔軟に使用し、リレーショナル テーブルを深く理解し、データベースの使用に精通している。

考えられる質問:

  1. 営業マン、社長、アナリスト以外の職責を持つ従業員の名前、役職、給与、部門名を照会します。

 注文:

 職種が含まれていない従業員、部門 ('営業マン'、'社長'、'アナリスト') および EMP.DEPTNO=部門から ENAME、JOB、SAL、DNAME を選択.DEPTNO;

結果は次のとおりです。

図21

 

図22

 

2. 换一种方法查询出工资大于 2000 元的员工姓名、工作、工资,及其所在部门名称。

命令:SELECT ENAME,JOB,SAL,DNAME FROM EMP,DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO AND SAL>2000;

查询结果如下:

图23

 

3、查询出每个部门下的员工姓名和工资。请写出 SELECT 命令,并给出查询结果截图。

命令:SELECT ENAME,SAL,DNAME FROM EMP,DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO;

结果如下:

图24

 

4、如果在步骤 2.4 中使用 sys 用户查询学生用户的 INFOS 表,能否查询到学生用户 INFOS 表的添加、删除、修改操作?为什么?如果不同,如何才能让 sys 用户查询到学生用户对 INFOS 表的添加、删除、修改操作?

 不能使用sys用户查询学生用户的INFOS表,因为没有得到dba用户的授权,需要得到dba用户的授权后,才能查询学生用户对INFOS表的添加、删除、修改操作。

六、总结及心得体会

实验中遇到的问题以及解决办法:

  1. 一开始输入脚本进行配置的过程当中,会产生部分错误,然后自己在网上搜索以及在老师的指导之下,解决了这个问题。
  2. 对于实验指导书中没有出现的数据库查询、删除、插入的指令,自己结合课件和网上的一些教程进行学习,最终还是得到了相应的结果。

七、对本实验过程及方法、手段的改进建议

1.在实验中其实相关的脚本也可以适当采取挖空的方式,让学生们进行学习填写。

2.对于插入的关系表,可以适当的增加关系表理解的相关的问题,进行训练。

3.另外,可以适当增加一些SQL语言的练习,以便对学习的知识进行掌握。

おすすめ

転載: blog.csdn.net/weixin_53284122/article/details/129219500