データベースシステム(5)-データベース設計

1.実験の目的:

  1. データベース設計の基本的な手順に精通している。

  2. データベース要件分析方法を実践し、データディクショナリを提供できるようにします。

  3. ERダイアグラムモデリングを練習し、ERモデルからリレーショナルモードへの変換をマスターします。

2.実験内容:

  1. ユーザーのニーズから始めて、データベース設計手順に従って、次の手順を実行します。概念構造設計(ERモデル)、ニーズを満たす最終的なグローバルERダイアグラムを提供し、モデルを可能な限り合理化する必要があり、不要な冗長性を排除し、理由または説明

  2. 論理構造設計(リレーショナルモデル)、ERモデルを適切なリレーショナルモデルに変換し、適切に標準化して、関連する整合性制約を設計します。

3.タイトル:新聞データベース設計

新聞システム
新聞システム

新聞は、人々がニュース記事を書いたり、読んだり、コメントしたりできるウェブサイトを開設しています。あなたの仕事は、ウェブサイトが機能するために必要な情報を記録できるデータベースを設計することです。
新聞は、人々がそこに書き込むことができるサイトを構築しています。 、ニュースレポートを読んでコメントします。あなたの仕事は、ウェブサイトの仕事に必要な情報を記録できるデータベースを設計することです。

ウェブサイトには、それぞれが約10のセクション(「ローカルニュース」、「ワールドニュース」、「意見」、「スポーツ」、「テクノロジー」など)のいずれかに分類される
多数の記事がリストされています。ストーリーは10列(「ローカルニュース」、「ワールドニュース」、「視点」、「スポーツ」、「テクノロジー」など)のいずれかに分類されます。

各ストーリーの各コンテンツは、テキスト(マネージャーはサイズに制限がないことを希望します)、見出し、短い「lede」(ledeは10〜20語の文であり、話)。
それぞれの物語の各コンテンツは、テキストの段落(サイズ制限がないことを管理者希望)、タイトルと短い「lede」(ledeが話を要約するために10〜20の単語の文で使用される)で構成されてい。

各ストーリーは、特定の日付にデータベースにストーリーを送信する1人以上の作成者によって作成されます。
各ストーリーは、1人以上の作成者が作成したものであり、特定の日付データベースのストーリーを送信します。

ストーリーが価値があると見なされる場合は、編集者の1人が編集し、セクションに割り当ててから、特定の日に公開します。
ストーリーが価値があると見なされる場合は、編集者、Aに割り当てられた編集者が行います。その後、セクションは特定の日に公開されます。

著者と編集者はスタッフです。著者と編集者はスタッフ
です。

著者と編集者の両方になることはできません。著者と編集者の両方になることはできません

各スタッフについて、私たちは彼らの名前を保存し、彼らが
新聞に参加する(そして後で去る)とき

読者がセクションや著者名をクリックできるようにウェブサイトを整理し、関連するすべての記事のリストを表示し
たい。読者がパーツや著者名をクリックできるようにサイトを整理したい。関連するすべてのストーリーのリストを参照してください。

メインページには、各ストーリーのタイトル(見出しとして表示)とledeがリストされています。メインページには、各ストーリーのタイトル(見出しとして表示
)とledeがリストされています。

次に、読者が見出しをクリックすると、ストーリー全体が表示されます

私たちの読者は、必要に応じて、ユーザー名とパスワードを記録して、データベースに自分自身を登録することを選択できます(本名を記録する必要はありません)。必要に応じて
、読者はデータベースに登録することを選択できます。ユーザー名とパスワード(本名を記録する必要はありません)。

登録した読者は、ストーリーや他の読者のコメントにコメントできます

また、ストーリーの「いいね」をクリックすることもできます。後で気が変わった場合は
「嫌い」にすることもできます。ストーリーの「いいね」ボタンをクリックすることもできます。後で気が変わった場合は、「私その話は好きではありません。

ストーリーを表示するときは、ストーリーが受け取ったいいねの数を表示し、その下にコメントをリストします。ストーリーを表示するときは、ストーリーが受け取ったいいねの数を表示し、その下にコメントをリストします

コメントごとに、コメントした人
のユーザー名とコメントした時刻が表示されますコメントごとに、コメントした人のユーザー名とコメントした時刻が表示されます。

コメントの簡潔さを目指し、1024文字に制限します。
コメントを簡潔に保ち、1024文字に制限することを目標としています。

四、ER图:

質問の意味に従って、ER図を描きます。
ここに画像の説明を挿入

関係モデルは次のとおりです。

  • 従業員(氏名、入社日、退社日)
  • ニュース(タイトル、テキスト、紹介)
  • リーダー(ユーザー名、パスワード)
  • 提出(提出日、従業員名、ニュース)
  • カテゴリ(コラム、ニュース)
  • コメント(コメント時間、ニュース、読者のユーザー名)
  • コメントコメント(コメント時間、コメント、読者のユーザー名)
  • いいね(ニュース、読者)

各リレーショナルモデルのメインコードと外部コードは次のとおりです。

  • 従業員(メインコードは名前であり、外国のコードはありません)
  • ニュース(メインコードはタイトルとテキストであり、外国のコードはありません)
  • リーダー(メインコードはユーザー名であり、外部コードはありません)
  • 送信(メインコードは従業員の名前とニュースであり、外部コードは従業員の名前です)
  • 分類(メインコードは列とニュースであり、外国のコードはありません)
  • コメント(メインコードはニュースと読者のユーザー名であり、外部コードは読者のユーザー名です)
  • コメントコメント(メインコードはコメントと読者のユーザー名であり、外部コードは読者のユーザー名です)
  • のように(メインコードはニュースと読者のユーザー名であり、外部コードは読者のユーザー名です)

5.データベースエンティティ関係の設計:

create table staff
(
Name varchar(10) primary key,
Join_date date,
Leave_date date
);

create table story
(
Headline VARCHAR(10),
Text varchar(100),
Lede varchar(50),
primary key(Headline,Text)
);

create table reader
(
Username varchar(20) primary key,
Password varchar(20)
);


create table submit
(
Submit_date date,
Name VARCHAR(5),
Headline VARCHAR(10),
primary key (Name,Headline),
foreign key (Name) references staff(Name)
);

create table class
(
Section varchar(5),
Headline VARCHAR(10),
primary key (Section,Headline)
);

create table comment
(
Comtime date,
Headline VARCHAR(10),
Name varchar(10),
primary key (Headline,Name),
foreign key(Name) references staff(Name)
);

create table comment_comment
(
Comtime date,
Comment varchar(50),
Name varchar(10),
primary key (Comment,Name),
foreign key(Name) references staff(Name)
);

create table praise
(
Headline VARCHAR(10),
Name varchar(10),
primary key (Headline,Name),
foreign key(Name) references staff(Name)
);

設計されたデータベースモデルは次のとおりです。

ここに画像の説明を挿入

6.実験の要約:

データベース設計のパラダイム理論は、初期のリレーショナルモデルを最適化するために適用されます。データベース設計の3つのパラダイムは次のとおりです。

  • 最初のパラダイム:各カテゴリは分割できないデータ項目である必要があります。各列の原子性を確保するために属性を分割することはできません。

  • 2番目のパラダイム:各テーブルは1つのことだけを記述する必要があり、各レコードには一意の識別列があります。

  • 3番目の正規形:データベーステーブルには、他のテーブルに含まれている非主キー情報が含まれていません。

参考記事:https://blog.csdn.net/COCO56/article/details/103470262

おすすめ

転載: blog.csdn.net/qq_43531669/article/details/111132260
おすすめ