この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 15188|答える: 2

[出典] データベース試験操作に関する質問と回答

[リンクをコピー]
掲載地 2015/04/28 16:52:13 | | |

1. 受注管理データベースがあり、倉庫テーブル、従業員テーブル、発注書フォーム、サプライヤーテーブルを以下のように含みます。
倉庫テーブル(倉庫番号、都市、エリア)
従業員表(倉庫番号、従業員番号、給与)
発注書フォーム(従業員番号、サプライヤー番号、発注番号、注文日)
サプライヤーテーブル(サプライヤー番号、サプライヤー名、都市)
以下の操作(1問から12問まで各3点、13問4点、合計40点)を完了するためにSQL文を使用してください。 :
1. 従業員関係からすべての賃金値を取得し、結果に重複する価値を要求しない。
2. 給与1,230元以上の従業員番号と所在都市を検索します。
3. 面積が400を超える倉庫の従業員番号と、その従業員が働く都市を検索します。
4. 給与1250元以上の倉庫がある都市を調べる
5. 全従業員の賃金が1210元を超える倉庫の情報を検索する。
6. 倉庫番号で昇順に並べ替え、給与順に降順に並べ替え、すべての従業員情報を出力します。
7. 北京と上海の倉庫労働者の賃金総額を取得する。
8. WH2倉庫で働く従業員の最大給与額を求めること。
9. 従業員が少なくとも2名ある各倉庫の平均給与を取得すること。
10. 北京にないすべてのサプライヤー情報を取得。
11. 各従業員が扱った総金額が最も高い発注情報を記載します。
12. 従業員がいない倉庫の情報を検索すること。
13. 従業員の給与がwh1倉庫内の任意の従業員の給与以上である倉庫番号を検索する


2. 既存のリレーショナルデータベースは以下の通りです:
データベース名:教師データベース
教師表(番号6)、名前、性別、民族、職種、ID番号)
コーススケジュール(コース番号 char(6)、名称)
授業スケジュール(ID、教師番号、クラス番号、授業時間数)
SQL言語で以下の関数を実装するSQL文コード(問題ごとに5点、合計40点):
1. 上記の3つのテーブルのデータベースおよびテーブル作成コードを作成する;
   必須使用例:主キー(教師用テーブル)。 番号、カリキュラム。 コース番号)、異物キー(授業スケジュール。 先生の番号、授業のスケジュール。 クラス番号)、デフォルト(民族)、空でない(民族、名前)、ユニーク(ID番号)、チェック(性別、授業時間数)、自動番号(ID)
2. コーススケジュールのコードに以下のコース情報を追加する
       (1) コース番号 コース名
        100001 SQL Server データベース
        100002 データ構造
        100003 VBプログラミング
       (2) コース番号100003のコース名を変更する:Visual Basic Programming
       (3) コース番号付きのコース情報を削除する100003  
3. [クラススケジュールビュー]を作成するためのコードを書き出す(教師番号、名前、コース番号、コース名、授業時間);
4. 埋め込みテーブルの値関数とコードの検索を行い、[コース教師]を作成する;
検索:コース「SQL Server Database」の全教員名;
5. [授業時間数を数える]を書き出して作成:最大授業時間数、最小クラス時間数、平均授業時間の保存手順、実行コードを出力します。
6. 書き出して作成する:教師の代用教員の授業時間の合計を計算し、その値をストアドプロシージャおよび実行コードに返します。
実施:「郭先生」の総授業時間を計算します。
7. 90時間以上の授業を修了したすべての教員の情報を取得し、番号や名前も含めて取得します。
8. ルールを作成し、それを教師テーブルのタイトル欄に割り当て、値が(「教授」「准教授」「講師」「ティーチングアシスタント」)のいずれかであることを定めます。


3. 3つのテーブルからなる人材情報管理データベースがあります。
    人材基本情報フォームRCDA(番号、氏名、性別、生年月日、給与状況)
    タレントプロフェッショナル専門表 ZYTC(人数、専攻、職業年数、専門職名、英語力)
        才能達成実績表 CJDA(番号、実績名、実績カテゴリー、実績出典)
  以下の操作を完了するにはSQL言語を使用してください(1問あたり4点、合計40点):
1. RCDAテーブル内のすべての情報を照会します。
2. 番号、名前、性別、生年月日、給与状況を照会し、数字のフィールド値に従って降順に並べます。
3. クエリ番号、氏名、性別、生年月日、給与状況、5,000元を超える給与状況の記録を検索し、給与ステータス欄の値に応じて昇順に並べます。
4. RCDA表のすべてのフィールドの情報を照会し、すべてのゲイ男性の記録を選択するよう依頼します。
5. RCDAフォームのすべての記録の名前と給与状況を確認する;
6. RCDA表にある全男性の名前、性別、給与状況を確認し、給与順に並べ替えること;
7. RCDAフォームで20歳から30歳の従業員の氏名と生年月日を確認する。
8. RCDA表で全員の賃金の合計を見つけ、列の見出しを「賃金の合計」に変更します。
9. RCDA表で男女労働者の賃金合計を確認する;
10. RCDA表の全所有者の平均給与を確認する;
  1. use master
  2. --删除数据库
  3. if exists (select * from sysdatabases where name='订货管理')
  4. DROP database 订货管理
  5. GO
  6. --创建数据库
  7. CREATE DATABASE 订货管理
  8. GO
  9. --切换数据库
  10. USE 订货管理
  11. Go
  12. --1/创建仓库表(仓库号,城市,面积)
  13. create table 仓库表
  14. (
  15. 仓库号 char(4) primary key,
  16. 城市 varchar(4) not null,
  17. 面积 int
  18. )
  19. go
  20. --2/创建供应商表(供应商号,供应商名,城市)
  21. create table 供应商表
  22. (
  23. 供应商号 char(2) primary key,
  24. 供应商名 char(2),
  25. 城市 varchar(10)
  26. )
  27. Go
  28. --3/创建职工表(仓库号,职工号,工资)
  29. create table 职工表
  30. (
  31. 仓库号 char(4) not null references 仓库表(仓库号),
  32. 职工号 char(2) primary key,
  33. 工资 int
  34. )
  35. Go
  36. --4/创建订购单表(职工号,供应商号,订购单号,订购日期)
  37. create table 订购单表
  38. (
  39. 职工号 char(2) not null references 职工表(职工号),
  40. 供应商号 char(2) references 供应商表(供应商号),
  41. 订购单号 char(2) primary key,
  42. 订购日期 datetime
  43. )
  44. Go

  45. --1、        从职工关系中检索所有工资值,要求结果中没有重复值。
  46. select 职工号,工资 from 职工表
  47. --2、        检索工资多于1230元的职工号和他们所在的城市。
  48. select 城市,职工号 from 仓库表
  49. inner join 职工表 on 仓库表.仓库号=职工表.仓库号
  50. where 工资>1230
  51. --3、        检索工作在面积大于400的仓库的职工号以及这些职工工作所在的城市。
  52. select 职工号,城市 from 职工表
  53. inner join 仓库表 on 职工表.仓库号=仓库表.仓库号
  54. where 面积>400
  55. --4、        检索出哪些城市至少有一个仓库的职工工资为1250元
  56. select 城市 from 仓库表 where 仓库号 in
  57. (select 仓库号 from 职工表 where 工资=1250)
  58. --5、        检索所有职工的工资都多于1210元的仓库的信息。
  59. select * from 仓库表 where 仓库号 in
  60. (select 仓库号 from 职工表
  61. except  
  62. select 仓库号 from 职工表 where 工资<=1210)
  63. --6、        先按仓库号升序排序,再按工资降序排序并输出全部职工信息。
  64. select * from 职工表 order by 仓库号,工资
  65. --7、        求北京和上海的仓库职工的工资总和。
  66. select sum(工资) from 职工表 where 仓库号 in  
  67. (select 仓库号 from 仓库表 where 城市='北京' or 城市='上海')
  68. --8、        求在wh2仓库工作的职工的最高工资值。
  69. select MAX(工资) from 职工表 where 仓库号='wh2'
  70. --9、        求至少有两个职工的每个仓库的平均工资。
  71. select 仓库号,AVG(工资) as 职工平均工资 from 职工表
  72. group by 仓库号
  73. having COUNT(职工号)>=2
  74. --10、        检索出不在北京的全部供应商信息。
  75. select * from 供应商表 where 城市<>'北京'
  76. --11、        列出每个职工经手的具有最高总金额的订购单信息。

  77. --12、        检索哪些仓库中还没有职工的仓库的信息。
  78. select * from 仓库表 where 仓库号 in
  79. (select 仓库号 from 仓库表
  80. Except
  81. select 仓库号 from 职工表)
  82. --13、        检索有职工的工资大于或等于wh1仓库中任何一名职工工资的仓库号
  83. select distinct 仓库号 from 职工表
  84. where 工资 >= (select min(工资) from 职工表 where 仓库号='wh1')


コードをコピーします

  1. --1、
  2. create database 教师数据库  
  3. go               
  4. use 教师数据库
  5. go

  6. create table 教师表                        
  7. (
  8. 编号 char(6) primary key,
  9. 姓名 nchar(4) not null,  
  10. 性别 nchar(1) check([性别] in ('男', '女')),
  11. 民族 nchar(8) default '汉族' not null,
  12. 职称 nchar(12),
  13. 身份证号 char(18) unique )  
  14. go

  15. create table 课程表                          
  16. (课号 char(6) primary key,
  17. 名称 char(40) not null
  18. )  
  19. go

  20. create table 任课表                        
  21. (
  22. ID int IDENTITY(1, 1),  
  23. 教师编号 char(6) references 教师表(编号),
  24. 课号 char(6) references 课程表(课号),  
  25. 课时数 integer check([课时数] between 0 and 200)
  26. )
  27. go
  28. --2、
  29. insert 课程表 values('100001', 'SQL Server数据库')  
  30. insert 课程表 values('100002', '数据结构')
  31. insert 课程表 values('100003', 'VB程序设计')
  32. update 课程表 set 名称='Visual Basic程序设计' where 课号='100003'  
  33. delete 课程表 where 课号='100003'

  34. --3、   
  35. create view [任课表视图] as  
  36. select 教师编号,姓名,任课表.课号,名称,课时数 from 教师表
  37. inner join 任课表 on 教师表.编号=任课表.教师编号
  38. inner join 课程表 on 课程表.课号=任课表.课号

  39. --4、   
  40. create function [某门课任课教师](@课程名 varchar(15))
  41. returns table as  
  42. return (select 名称,课时数,教师姓名=姓名 from 任课表视图 where 名称=@课程名)
  43. go
  44. select * from [某门课任课教师]('SQL Server数据库')

  45. --5、
  46. create procedure [统计课时数]  
  47. as
  48. select  最大课时数=max(课时数) ,最小课时数=min(课时数),平均课时数=avg(课时数)
  49. from 任课表
  50. go  
  51. execute [统计课时数]
  52. --6、   
  53. create procedure [统计课时]  
  54. @教师名 nchar(16)
  55. as     
  56. declare @总课时 int      
  57. select @总课时=sum(课时数) from 任课表视图   
  58. where 姓名=@教师名  
  59. go  
  60. execute [统计课时] '郭老师'
  61. --7、   
  62. select 编号, 姓名 from 教师表  
  63. where 编号 in (select distinct 教师编号 from 任课表 where 课时数>=90)
  64. 8、   
  65. create rule zhicheng_rule  
  66. as @zhicheng  in ('教授','副教授','讲师', '助教')
  67. go  
  68. sp_bindrule zhicheng_rule, '教师表.职称'
コードをコピーします

  1. use master
  2. --删除数据库
  3. if exists (select * from sysdatabases where name='人才信息管理')
  4. DROP database 人才信息管理
  5. GO
  6. --创建数据库
  7. CREATE DATABASE 人才信息管理
  8. GO
  9. --切换数据库
  10. USE 人才信息管理
  11. Go
  12. --人才基本情况表RCDA(编号,姓名,性别,出生日期,工资现状)
  13. create table RCDA
  14. (
  15. 编号 char(4) primary key,
  16. 姓名 varchar(10) not null,
  17. 性别 varchar(2) not null,
  18. 出生日期 datetime,
  19. 工资现状 int
  20. )
  21. go

  22. --人才专业特长表ZYTC(编号,专业,专业年限,职称,英语水平)
  23. create table ZYTC
  24. (
  25. 编号 char(4) primary key,
  26. 姓名 varchar(10) not null,
  27. 性别 varchar(2) not null,
  28. 出生日期 datetime,
  29. 工资现状 int
  30. )
  31. go
  32. --人才成就成果表CJDA(编号,成果名称,成果类别,成果出处)
  33. create table CJDA
  34. (
  35. 编号 char(4) primary key,
  36. 成果名称 varchar(10) not null,
  37. 成果类别 varchar(10) not null,
  38. 成果出处 varchar(10) not null
  39. )
  40. go

  41. --1.查询RCDA表中的所有信息;
  42. Select * from RCDA
  43. --2. 查询编号、姓名、性别、出生日期、工资现状,并按编号的字段值降序排列。
  44. Select 编号,姓名,性别,出生日期,工资现状 from RCDA
  45. order by 编号 desc
  46. --3.查询编号、姓名、性别、出生日期、工资现状,要求查询出工资现状超过5000,或少于3000元的记录,且查询结果按工资现状字段值升序排列。
  47. Select 编号,姓名,性别,出生日期,工资现状 from RCDA
  48. Where 工资现状>5000 or 工资现状<3000 order by 工资现状
  49. --4.查询RCDA表中所有字段的信息,要求选择所有男同志的记录。
  50. Select * from RCDA where 性别='男'
  51. --5.在RCDA表中查询所有记录的姓名和工资现状的情况;
  52. Select 姓名,工资现状 from RCDA
  53. --6.在RCDA表中查询所有男性的姓名、性别和工资现状的情况,并按工资现状降序排序;
  54. Select 姓名,性别,工资现状 from RCDA order by 工资现状 desc
  55. --7. 在RCDA表中查询年龄在20-30岁间的职工的姓名,出生日期;
  56. select 姓名,出生日期,datediff(yy,出生日期,getdate()) as 年龄 from RCDA
  57. where datediff(yy,出生日期,getdate()) between 20  and 30
  58. --8. 在RCDA表中求所有人的工资总和,并将列标题改为“工资总和”;
  59. Select sum(工资现状)  as 工资总和 from  RCDA
  60. --9. 在RCDA表中查询男职工和女职工的工资总和;
  61. Select 性别,sum(工资现状) as 工资总和 from RCDA group by 性别
  62. --10. 在RCDA表中查询所有人的平均工资;
  63. Select avg(工资现状) from RCDA
コードをコピーします






先の:C#で書かれた小さなプログラムが、ウェブサイトがdiscuzフォーラムかどうかを判別するために使われ、ソースコードは皆に共有されました
次に:北京サイバーセキュリティ詐欺対策連合は、オンライン詐欺犯罪に関する報告書を発表しました
掲載地 2015/04/28 19:12:25 |
これなら、やらないことを心配しなくて大丈夫です
掲載地 2015/04/29 16:47:56 |
まあ、二番目の兄さんの言う通り、バンジュ・ダニエル、私はデータベースのことが全くわからない.....
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com