Сделать стартовой  
Главная   О проекте   обновлено: 2008-02-19 13:05:00
Всего 2672 новостей, + 0 сегодня.
Индикатор апдейтов поисковых систем

ПРЯМОЙ ЭФИР
forum.searchengines.ru

Оценки
значит кому-то понравилось

MP3Sugar, декомпозиция SQL БД

Суббота, Ноябрь 18, 2006 в 1:58 am в рубрике Личное

Скачал с MP3Sugar дамп базы данных MySQL, не обнаружил там никаких признаков реляционности. И поскольку работать с ним в таком виде совершенно невозможно, провел частичную декомпозицию исключительно с целью упростить извлечение данных по конкретному альбому, исполнителю и стилю исполнения. Запросы приведенные ниже создают ряд новых таблиц, и копируют в них данные, индексы по вкусу.

CREATE TABLE `file` (
    `id_singer` int(10) unsigned NOT NULL default 0,
    `id_album` int(10) unsigned NOT NULL default 0,
    `id_file` int(10) unsigned NOT NULL default 0,
    `id_style` int(10) unsigned NOT NULL default 0,
    `id_geenre` int(10) unsigned NOT NULL default 0,
    `name_file` varchar(255) NOT NULL default "",
    `time_file` int(10) unsigned NOT NULL default 0,
    `size_file` int(10) unsigned NOT NULL default 0,
    `country` varchar(255) NOT NULL default "",
    `bitrate_file` varchar(255) NOT NULL default "",
    PRIMARY KEY    (`id_file`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `singer` (
    `id_singer` int(10) unsigned NOT NULL default 0,
    `name_singer` varchar(255) NOT NULL default "",
    PRIMARY KEY    (`id_singer`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `album` (
    `id_album` int(10) unsigned NOT NULL default 0,
    `id_singer` int(10) unsigned NOT NULL default 0,
    `name_album` varchar(255) NOT NULL default "",
    `year_album` year(4) NOT NULL default "0000",
    PRIMARY KEY    (`id_album`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `style` (
    `id_style` int(10) unsigned NOT NULL default 0,
    `name_style` varchar(255) NOT NULL default "",
    PRIMARY KEY    (`id_style`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `geenre` (
    `id_geenre` int(10) unsigned NOT NULL default 0,
    `name_geenre` varchar(255) NOT NULL default "",
    PRIMARY KEY    (`id_geenre`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `singer` SELECT DISTINCT `id_singer`, `name_singer` FROM mp3dump;
INSERT INTO `album` SELECT DISTINCT `id_album`, `id_singer`, `name_album`, `year_album` FROM mp3dump;
INSERT INTO `style` SELECT DISTINCT `id_style`, `name_style` FROM mp3dump;
INSERT INTO `geenre` SELECT DISTINCT `id_geenre`, `name_geenre` FROM mp3dump;
INSERT INTO `file` SELECT DISTINCT `id_singer`, `id_album`, `id_file`, `id_style`, `id_geenre`, `name_file`, `time_file`, `size_file`, `country`, `bitrate_file` FROM mp3dump;


© zvonko.biz, 2006. | Постоянная ссылка | Комментарии

Интересна эта тема? Посмотрите архив сообщений по теме технология.



  Найдено на:   zvonko.biz

Ваша оценка:   
2 Votes | Average: 4.5 out of 52 Votes | Average: 4.5 out of 52 Votes | Average: 4.5 out of 52 Votes | Average: 4.5 out of 52 Votes | Average: 4.5 out of 5 (Всего оценок: 2, средняя оценка: 4.5 из 5)
Loading ... Loading ...

Оставить комментарий

Обратите внимание, все комментарии сначала проходят модерацию, поэтому могут появляться на сайте не сразу!





Последние новости
Самое популярное

Записи (RSS)
Комментарии (RSS)