作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想为我拥有的MTG卡创建一个数据库。设计将是什么?
我想存储有关每张卡的以下信息:
1. Name of card.
2. Set the card belongs to.
3. Condition of card.
4. Price it sold for.
5. Price I bought it for.
1. Every card has a name.
2. Every card belongs to a set.
3. A card may have a foil version of itself.
4. Card name, set it belongs to, and whether it's foil or not makes it unique.
5. A card may be in multiple sets.
6. A set has multiple cards.
最佳答案
这不是编程问题,而是建模问题。任何进行编程但不建模的人都是编码员,而不是程序员。这只是数据输入的第一步。建模是编程的基本方面,因为它直接处理抽象,而抽象是计算机编程的真正天才。
归一化也是一个抽象过程,因此归一化和数据库设计是使某人总体上变得更好的一种绝佳方法,因为归一化也是一个抽象过程。
可以说抽象是计算机编程中最困难的方面,特别是因为计算机编程要求一个人既特别是 Nerd 又要文字(为了正确地处理计算机的顽固性和愚蠢性),并且要在计算机中处理和工作。非常高级和抽象的空间。
例如,设计 session 中的参数不涉及语言语法。
这么说。我已经以较小的方式更新了架构以解决更改。
create table card (
card_key numeric not null primary key,
name varchar(256) not null,
foil varchar(1) not null); -- "Y" if it's foil, "N" if it is not.
create table set (
set_key numeric not null primary key,
name varchar(256) not null);
create table cardset (
card_key numeric not null references card(card_key),
set_key numeric not null references set(set_key));
create table condition (
condition_key numeric not null primary key,
alias varchar(64),
description varchar(256));
create table saletype (
saletype_key numeric not null primary key,
alias varchar(64),
description varchar(256));
create table singlecard (
singlecard_key numeric not null primary key,
card_key numeric not null references card(card_key),
condition_key numeric not null references condition(condition_key),
purchase_date date,
purchase_price numeric,
saletype_key numeric references saletype(saletype_key),
sell_date date,
sell_price numeric,
notes varchar(4000));
关于database - 魔术: The Gathering database design,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7590552/
我是一名优秀的程序员,十分优秀!