Budowa struktury bazy danych

budowa_encji

CREATE TABLE `roles` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
    );

    
dodanie kolejnych kolumn/atrybutów za pomocą ALTER TABLE
    
ALTER TABLE `roles` ADD COLUMN `actor_id` INT(10) NOT NULL REFERENCES `actors` (`id`),
ADD COLUMN `performance_id` INT(10) NOT NULL REFERENCES `performances` (`id`);

domyślnie nie można usunąć rekordu, do którego odwołują się poprzez klucze obce rekordy innej tabeli
"ON DELETE SET NULL" - zamienia wartość kolumny z kluczem obcym na wartość pustą (NULL) 
"ON DELETE CASCADE" - usuwa rekord odwołujący się do usuniętego rekordu 'performances'

ALTER TABLE `roles` ADD COLUMN `actor_id` INT(10) NOT NULL REFERENCES `actors` (`id`),
ADD COLUMN `performance_id` INT(10) NOT NULL REFERENCES `performances` (`id`) ON DELETE CASCADE;

pełen zrzut z 15 lipca:



-- phpMyAdmin SQL Dump
-- version 4.0.9
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Czas wygenerowania: 15 Lip 2015, 17:52
-- Wersja serwera: 5.5.34
-- Wersja PHP: 5.4.22

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Baza danych: `teatr`
--

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `actors`
--

CREATE TABLE IF NOT EXISTS `actors` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `first_name` varchar(255) NOT NULL,
  `last_name` varchar(255) NOT NULL,
  `gender` varchar(1) NOT NULL,
  `picture_path` varchar(255) DEFAULT NULL,
  `birth_date` date NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Zrzut danych tabeli `actors`
--

INSERT INTO `actors` (`id`, `first_name`, `last_name`, `gender`, `picture_path`, `birth_date`) VALUES
(1, 'Antonina', 'Choroszy', 'K', NULL, '1970-03-05'),
(2, 'Stefan', 'Wleklak', 'M', NULL, '1984-04-05');

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `performances`
--

CREATE TABLE IF NOT EXISTS `performances` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- Zrzut danych tabeli `performances`
--

INSERT INTO `performances` (`id`, `title`) VALUES
(1, 'Gra o tron'),
(2, 'Dexter'),
(3, 'Wikingowie');

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `roles`
--

CREATE TABLE IF NOT EXISTS `roles` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `actor_id` int(10) NOT NULL,
  `performance_id` int(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Advertisements

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s