爲了我自己的目的,我正在編寫一個計算機輔助學習國外語言的軟件。這是一個閃卡類型的程序。 我剛剛預測了一個數據庫(下面附有SQL腳本)。你能檢查它是否正確嗎?你有其他更好的想法如何解決它?你能建議一些ERD圖嗎? 你對我的數據庫中的表有任何其他想法嗎? 如何存儲音頻和圖像文件?我在mp3中收集的英文單詞大約是300 MB。如果我只在DB中存儲路徑和文件名,我應該如何將文件存儲在硬盤中以防止用戶複製或執行它們。我應該將它作爲二進制文件存儲嗎?例如,以'A'開頭的所有單詞我都存儲在一個文件中,例如稱爲a.bin,在文件b.bin中以'B'開頭的單詞等等。關於數據庫項目的一些問題
在一個崗位這麼多的問題......但我在SQL新,所以我要問的一切,我希望有人會找時間來解釋我所有的疑慮。
謝謝你的一切建議。
立方體
USE [master]
GO
IF db_id('FlashcardsDB') IS NOT NULL
BEGIN
DROP DATABASE FlashcardsDB
END
CREATE DATABASE FlashcardsDB
ON
(
NAME = 'FlashcardsDB',
FILENAME = 'C:\FlashcardsDB.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5
)
GO
USE FlashcardsDB
GO
CREATE TABLE ForeignLanguage
(
ForeignLanguageID int PRIMARY KEY NOT NULL IDENTITY,
Word varchar(50) NOT NULL,
PartOfSpeech varchar(20),
OwnPhoneticTranscription varchar(20),
IPAPhoneticTranscription varchar(20),
ExampleOfUsage varchar(100),
Definition varchar(100),
PictureName varchar(1000),
Picture varbinary(max),
Audio varbinary(max),
Note float NOT NULL
CreationDate date
ModificationDate date
LanguageOfWord varchar(20)
)
CREATE TABLE FirstLanguage
(
FirstLanguageID int PRIMARY KEY NOT NULL IDENTITY,
ForeignLanguageID int NOT NULL,
CONSTRAINT FK_ForeignLanguage_FirstLanguage FOREIGN KEY (ForeignLanguageID)
REFERENCES ForeignLanguage(ForeignLanguageID),
Word varchar(50) NOT NULL
)
DECLARE @newForeignLanguageID int
INSERT INTO ForeignLanguage
VALUES
(
'to attempt',
'verb',
'atempt',
'atempt',
'I attempted to explain it.',
'to try to do something, especially something difficult',
null,
null,
null,
1.0,
null,
null,
null
)
SELECT @newForeignLanguageID = scope_identity()
INSERT INTO FirstLanguage (ForeignLanguageID, Word)
VALUES
(@newForeignLanguageID, 'usiłować')
檢查是否正確?你到底在問什麼? – FlavorScape
嗨@cube,歡迎來到StackOverflow。您可能想查看[FAQ]並閱讀[問]的部分。這類問題並不屬於這裏 - 它會更好[codereview.se]。 – eggyal
首先我想知道你的flashcard類型項目數據庫的解決方案。你會使用哪些表格,行列,關係?我的解決方案是否正確?也許你會改變/添加/刪除一些東西? – cube