プリンタ リソースの使用に関する情報を mysql データベースに記録するデータベースを設計する必要があります。データベースを設計する最良の方法は何ですか? 約 6000 のテーブルがあり、アーカイブを維持する場合は毎年増加し続けるため、生徒ごとにテーブルを作成したくありません。また、学生の登録数に基づいてテーブルを作成することも困難です。印刷の詳細について、多値属性を保存するよりも良い方法はありますか。いくつかの解決策を提案してください。また、クエリも効果的です。
質問する
1446 次
2 に答える
1
生徒ごとに異なるテーブルを作成する必要はありません。登録番号 (Regno-PrimaryKey としましょう) で識別される学生の個人情報を含むテーブル STUDENT を作成するだけです。
次に、次のスキーマを持つ別のテーブル リソース:
これは機能し、6000 以上のテーブルを作成する必要はありません。
于 2012-08-28T18:42:31.657 に答える
0
あなたはほとんど情報を提供していませんが、ここにショットがあります:
create table student
(
registration_no varchar(50) not null primary key,
first_name varchar(50),
last_name varchar(50),
registration_year integer not null
);
create table printer
(
printer_id integer not null primary key,
printer_name varchar(50) not null,
ip_address varchar(50) not null,
queue_name varchar(50) not null
);
create unique index idx_printer_name on printer (printer_name);
create table printer_usage
(
usage_id integer not null primary key,
student_reg_no integer not null,
printer_id integer not null,
usage_date datetime not null,
pages integer not null
);
alter table printer_usage
add constraint fk_usage_student
foreign key (student_reg_no) references student (registration_no);
alter table printer_usage
add constraint fk_usage_printer
foreign key (printer_id) references printer (printer_id);
必要なものをすべて格納するには、おそらくテーブルにさらに列を追加する必要があります。私はあなたが保存したいと思うかもしれないものを推測しました.
于 2012-08-28T18:48:26.137 に答える