CAR - En applikation

Databasdump

Scriptet

-- phpMyAdmin SQL Dump
-- version 4.2.12deb2+deb8u1
-- http://www.phpmyadmin.net
--
-- Värd: localhost
-- Tid vid skapande: 25 jan 2016 kl 21:45
-- Serverversion: 10.1.10-MariaDB-1~jessie
-- PHP-version: 5.6.14-0+deb8u1

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

--
-- Databas: `webbteknik`
--

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

--
-- Tabellstruktur `car`
--

DROP TABLE IF EXISTS `car`;
CREATE TABLE IF NOT EXISTS `car` (
`carId` int(11) NOT NULL,
  `personId` int(11) DEFAULT NULL,
  `registrationNr` varchar(10) COLLATE utf8_swedish_ci NOT NULL,
  `make` varchar(20) COLLATE utf8_swedish_ci NOT NULL,
  `model` varchar(20) COLLATE utf8_swedish_ci NOT NULL,
  `year` int(11) NOT NULL,
  `price` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci;

--
-- Dumpning av Data i tabell `car`
--

INSERT INTO `car` (`carId`, `personId`, `registrationNr`, `make`, `model`, `year`, `price`) VALUES
(1, 1, 'ABC123', 'Volvo', 'V70', 2012, 199000),
(2, NULL, 'DEF456', 'Saab', '95', 2008, 145000),
(3, 2, 'GHI789', 'Renault', 'Clio', 2010, 95000),
(4, 4, 'JKL987', 'Volvo', 'S40', 2005, 75000),
(5, 6, 'QWERTY', 'Mercedes-Benz', 'B 180', 2012, 185500),
(6, 1, 'BKW127', 'BMW', '320d', 2006, 89000),
(7, 4, 'ACO112', 'BMW', '520', 2011, 185000),
(8, 9, 'KAS911', 'Volvo', 'V70', 2001, 18000),
(9, 7, 'BUY111', 'VOLVO', 'V60', 2011, 159900),
(10, NULL, 'DYR BIL', 'Jaguar', 'F-Type', 2014, 789000);

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


--
-- Tabellstruktur `person`
--

DROP TABLE IF EXISTS `person`;
CREATE TABLE IF NOT EXISTS `person` (
`personId` int(11) NOT NULL,
  `firstName` varchar(30) COLLATE utf8_swedish_ci NOT NULL,
  `familyName` varchar(30) COLLATE utf8_swedish_ci NOT NULL,
  `birthDate` date NOT NULL,
  `hasLicence` tinyint(1) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci;

--
-- Dumpning av Data i tabell `person`
--

INSERT INTO `person` (`personId`, `firstName`, `familyName`, `birthDate`, `hasLicence`) VALUES
(1, 'Johan', 'Hällgren', '1975-11-03', 1),
(2, 'Anders', 'Larsson', '1996-10-12', 1),
(3, 'Lisa', 'Larsson', '1955-07-14', 1),
(4, 'Klas', 'Klasson', '2000-01-01', 0),
(5, 'Bo', 'Bengtsson', '1980-11-14', 1),
(6, 'Tom', 'Tén', '1986-12-24', 0),
(7, 'Tand', 'Fé', '1904-05-12', 0),
(8, 'Claes', 'Kent', '1995-09-14', 1),
(9, 'Anna', 'Henriks', '1965-08-09', 1),
(10, 'Anna', 'Bo-Bengts', '1992-03-30', 1);

-- --------------------------------------------------------
--
-- Ersättningsstruktur för vy `valueOfCars`
--
DROP VIEW IF EXISTS `valueOfCars`;

CREATE VIEW valueOfCars AS
SELECT p.familyName, p.firstName, SUM(c.price) valueOfCars
FROM car c
RIGHT OUTER JOIN person p
ON c.personId = p.personId
GROUP BY p.firstName, p.familyName
ORDER BY valueOfCars DESC, p.familyName, p.firstName;

-- --------------------------------------------------------
--
-- Struktur för vy `valueOfCars`
--
-- DROP TABLE IF EXISTS `valueOfCars`;

-- CREATE ALGORITHM=UNDEFINED DEFINER=`webbteknik`@`%` SQL SECURITY DEFINER VIEW `valueOfCars` AS select `p`.`familyName` AS `familyName`,`p`.`firstName` AS `firstName`,sum(`c`.`price`) AS `valueOfCars` from (`person` `p` left join `car` `c` on((`c`.`personId` = `p`.`personId`))) group by `p`.`firstName`,`p`.`familyName` order by sum(`c`.`price`) desc,`p`.`familyName`,`p`.`firstName`;

--
-- Index för dumpade tabeller
--

--
-- Index för tabell `car`
--
ALTER TABLE `car`
 ADD PRIMARY KEY (`carId`), ADD KEY `owner` (`personId`);

--
-- Index för tabell `person`
--
ALTER TABLE `person`
 ADD PRIMARY KEY (`personId`);

--
-- AUTO_INCREMENT för dumpade tabeller
--

--
-- AUTO_INCREMENT för tabell `car`
--
ALTER TABLE `car`
MODIFY `carId` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=12;
--
-- AUTO_INCREMENT för tabell `person`
--
ALTER TABLE `person`
MODIFY `personId` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=13;

--
-- Restriktioner för dumpade tabeller
--

--
-- Restriktioner för tabell `car`
--
ALTER TABLE `car`
ADD CONSTRAINT `owner` FOREIGN KEY (`personId`) REFERENCES `person` (`personId`);