Rozwiązanie - Egzamin Praktyczny INF.03

Arkusz INF.03-01-23.01-SG - Styczeń 2023 - Wersja #01

Skrypt: JavaScript

Baza Danych:

Przykładowe rozwiązanie
Rozwiązanie - Arkusz praktyczny INF.03-01-23.01-SG - Styczeń 2023 - Wersja #01
Rozwiązanie - Arkusz praktyczny INF.03-01-23.01-SG - Styczeń 2023 - Wersja #01
Wymagane zdjęcia
Egzamin INF.03-01-23.01-SG - dodatkowe zdjęcia - obraz.png
obraz.png
Wyniki działań na bazie danych
Egzamin INF.03-01-23.01-SG - Operacje na bazie danych - import.png
import.png
Egzamin INF.03-01-23.01-SG - Operacje na bazie danych - import.png
kw1.jpg
Egzamin INF.03-01-23.01-SG - Operacje na bazie danych - import.png
kw2.jpg
Egzamin INF.03-01-23.01-SG - Operacje na bazie danych - import.png
kw3.jpg
Egzamin INF.03-01-23.01-SG - Operacje na bazie danych - import.png
kw4.jpg
Plik malarz.sql
-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Dec 09, 2023 at 08:21 PM
-- Wersja serwera: 10.4.28-MariaDB
-- Wersja PHP: 8.2.4

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
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 utf8mb4 */;

--
-- Database: `malarz`
--

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

--
-- Struktura tabeli dla tabeli `farby`
--

CREATE TABLE `farby` (
  `id_farby` int(11) NOT NULL,
  `kolor` text NOT NULL,
  `cena` int(11) NOT NULL,
  `pojemnosc` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `farby`
--

INSERT INTO `farby` (`id_farby`, `kolor`, `cena`, `pojemnosc`) VALUES
(1, 'bialy', 20, 5),
(2, 'czerwony', 30, 3),
(3, 'niebieski', 35, 3),
(4, 'żółty', 22, 4),
(5, 'zielony', 30, 4),
(6, 'czarny', 50, 2),
(7, 'fioletowy', 64, 3);

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

--
-- Struktura tabeli dla tabeli `malowanie`
--

CREATE TABLE `malowanie` (
  `id_pomieszczenia` int(11) NOT NULL,
  `id_sciany` int(11) NOT NULL,
  `id_farby` int(11) DEFAULT NULL,
  `liczba_puszek` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `malowanie`
--

INSERT INTO `malowanie` (`id_pomieszczenia`, `id_sciany`, `id_farby`, `liczba_puszek`) VALUES
(1, 1, 1, 3),
(1, 2, 3, 2),
(1, 3, 1, 3),
(1, 4, 1, 2),
(2, 1, 7, 4),
(2, 2, 6, 3),
(2, 3, 5, 5),
(2, 4, 3, 2),
(3, 1, 5, 2),
(3, 2, 2, 2),
(4, 4, 5, 2),
(5, 1, 2, 2),
(5, 2, 6, 4);

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

--
-- Zastąpiona struktura widoku `pomieszczenie1`
-- (See below for the actual view)
--
CREATE TABLE `pomieszczenie1` (
`id_sciany` int(11)
,`id_farby` int(11)
,`liczba_puszek` int(11)
);

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

--
-- Struktura widoku `pomieszczenie1`
--
DROP TABLE IF EXISTS `pomieszczenie1`;

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `pomieszczenie1`  AS SELECT `malowanie`.`id_sciany` AS `id_sciany`, `malowanie`.`id_farby` AS `id_farby`, `malowanie`.`liczba_puszek` AS `liczba_puszek` FROM `malowanie` WHERE `malowanie`.`id_pomieszczenia` = 1 ;

--
-- Indeksy dla zrzutów tabel
--

--
-- Indeksy dla tabeli `farby`
--
ALTER TABLE `farby`
  ADD PRIMARY KEY (`id_farby`);

--
-- Indeksy dla tabeli `malowanie`
--
ALTER TABLE `malowanie`
  ADD PRIMARY KEY (`id_pomieszczenia`,`id_sciany`);
COMMIT;

/*!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 */;
Plik kwerendy.txt
Zapytanie 1: SELECT cena, pojemnosc FROM farby WHERE kolor = 'czerwony';
Zapytanie 2: SELECT kolor, cena/pojemnosc AS 'cena jednostkowa' FROM farby;
Zapytanie 3: SELECT farby.kolor, malowanie.liczba_puszek FROM farby, malowanie WHERE malowanie.id_farby = farby.id_farby AND malowanie.id_pomieszczenia = 3;
Zapytanie 4: CREATE VIEW pomieszczenie1 AS SELECT id_sciany, id_farby, liczba_puszek FROM malowanie WHERE id_pomieszczenia = 1;
Plik mieszamy.html
<!DOCTYPE html>
<html lang="pl">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>malarz</title>
        <link rel="stylesheet" href="styl_1.css">
    </head>
    <body>
        <header>
            <h1>Malowanie pokoi i biur</h1>
        </header>

        <div class="lewy">
            <h2>Menu</h2>
            <ul>
                <li><a href="mieszamy.html">Mieszamy</a></li>
                <li><a href="cena.html">Wyceniamy</a></li>
            </ul>
        </div>

        <div class="srodkowy">
            <h2>Barwy i ich pochodne</h2>
            <table>
                <tr>
                    <th colspan="2">Składowe</th>
                    <th>Wynik</th>
                </tr>
                <tr>
                    <td>żółty</td>
                    <td>czerwony</td>
                    <td>pomarańczowy</td>
                </tr>
                <tr>
                    <td>czerwony</td>
                    <td>niebieski</td>
                    <td>fioletowy</td>
                </tr>
            </table>
        </div>

        <div class="prawy">
            <img src="obraz.png" alt="Próbki farb">
        </div>

        <footer>
            <h3>MALARZ</h3>
            <p>Stronę opracował: <a href="https://ee-informatyk.pl/" target="_blank">EE-Informatyk.pl</a></p>
        </footer>
    </body>
</html>
Plik cena.html
<!DOCTYPE html>
<html lang="pl">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>malarz</title>
        <link rel="stylesheet" href="styl_1.css">
        <script>
            function oblicz() {
                let powierzchnia = +document.getElementById('powierzchnia').value
                let wynik = document.getElementById('wynik')
                wynik.innerHTML = "Liczba potrzebnych puszek: " + Math.abs(Math.ceil(powierzchnia / 4))
            }
        </script>
    </head>
    <body>
        <header>
            <h1>Malowanie pokoi i biur</h1>
        </header>

        <div class="lewy">
            <h2>Menu</h2>
            <ul>
                <li><a href="mieszamy.html">Mieszamy</a></li>
                <li><a href="cena.html">Wyceniamy</a></li>
            </ul>
        </div>

        <div class="srodkowy">
            <h2>Zapotrzebowanie na farbę</h2>
            <form>
                <label>Powierzchnia malowania (m<sup>2</sup>):
                    <input type="number" id="powierzchnia" />
                </label>
                <button type="button" onclick="oblicz()">Policz</button>
                <p id="wynik"></p>
            </form>
        </div>

        <div class="prawy">
            <img src="obraz.png" alt="Próbki farb">
        </div>

        <footer>
            <h3>MALARZ</h3>
            <p>Stronę opracował: <a href="https://ee-informatyk.pl/" target="_blank">EE-Informatyk.pl</a></p>
        </footer>
    </body>
</html>
Plik styl_1.css
* {
    font-family: Cambria;
}

header, footer {
    background: #829EB9;
    color: #fff;
    text-align: center;
    padding: 10px;
}

.lewy, .prawy {
    background: #B3C6D9;
    height: 400px;
    width: 25%;
    padding-top: 100px;
    float: left;
}

.srodkowy {
    background: #E0E9F1;
    height: 400px;
    width: 50%;
    text-align: center;
    padding-top: 100px;
    float: left;
}

table {
    border: 1px solid DimGray;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    border-collapse: collapse;
}

td,th {
    border: 1px solid DimGray;
    border-collapse: collapse;
}

td:hover {
    background: SteelBlue;
    color: white;
}

img {
    width: 100%;
    border-radius: 20px;
}

footer {
    clear: both;
}

Strona używa plików cookies

Serwis wykorzystuje ciasteczka głównie w celu prowadzenia systemu formularzy oraz zbierania danych dotyczących ruchu na stronie.

Więcej informacji znajdziesz w Polityce Prywatności

Akceptuję