Музыкальная библиотека MySQL база данных

Мне нужна помощь в создании таблицы(таблиц) для музыкальной базы данных в MySQL. Я не уверен, как выложить эту информацию в таблицу.

вот информация, которую я хотел бы сохранить в базе данных.

Artist Name
Album Name
Release Date
Genre
Picture URL (album artwork)

Track Number
Trank Name
Track Playtime
Lyric (optional, But would like to have it someday)

etc.

в основном все, что связано с организацией цифровой музыки. Я новичок в базах данных и у меня есть некоторые идеи. Но если я собираюсь учиться, то должен научиться делать это правильно.

любые мысли о том, как спроектировать мою таблицу(ы), будут потрясающий.

5 ответов


что-то вроде этого будет хорошо для начала. Он определяет таблицу для исполнителей, альбомов (с ключами в исполнителях и жанрах), треков (с ключами в альбомах) и жанров.

Table artists
----
id (primary key),
name
description
years_active
otherinfo (whatever you need)

Table albums
----
id (primary key)
artistid (foreign key to artists table)
name,
releasedate
genreid (foreign key to genres table)
picture

Table tracks
----
id (primary key)
albumid (foreign key to albums table)
name
override_artist (overrides album artist if not null)
playtime
lyric
otherstuff as needed

Table genres
----
id (primary key)
name
description

Я предлагаю следующую структуру базы данных:

artist { id, name }
genre { id, name }
album { id, name, artist_id, release_date, genre_id, picture_url }
track { id, album_id, number, name, playtime, lyrics }

Artist ( ArtistID INT PRIMARY KEY, ArtistName )
Genre ( GenreID TINYINT PRIMARY KEY, GenreDescription )
Album ( AlbumID INT PRIMARY KEY, ArtistID INT, GenreID INT ReleaseDate )
AlbumArt ( AlbumArtID INT PRIMARY KEY, AlbumID INT, AlbumArtPath )
Track ( AlbumID INT, TrackNumber INT, TrackName, PlayTime, Lyrics , PRIMARY KEY ( AlbumID, TrackNumber ) )

схема базы данных - это выкладка таблиц и установление отношений между этими таблицами.

вы уже определили многих кандидатов таблицы: трек, исполнитель, альбом

тогда вам нужны отношения: исполнитель может иметь много альбомов, альбом может иметь много треков.

с этими несколькими простыми таблицами и отношениями на месте у вас уже есть небольшая база данных.


проверить http://www.freedb.org/en/. Ранее cddb.org это бесплатная музыкальная база данных. Вы можете загрузить всю базу данных из одной из их ссылок и посмотреть, как они это сделали.