Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r.



Podobne dokumenty
Język SQL, zajęcia nr 1

Wykład 05 Bazy danych

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Hurtownia Świętego Mikołaja projekt bazy danych

Wykład 5. SQL praca z tabelami 2

BAZA DANYCH SIECI HOTELI

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Bazy danych i usługi sieciowe

Bazy Danych i Usługi Sieciowe

Wykład 8. SQL praca z tabelami 5

Kowalski Marcin Wrocław, dn Jaśkiewicz Kamil Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami

Programowanie w języku Java. Bazy danych SQLite w Javie

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Wykład 6. SQL praca z tabelami 3

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Struktura drzewa w MySQL. Michał Tyszczenko

Relacyjne bazy danych. Podstawy SQL

Wykład 12. Programowanie serwera MS SQL 2005 w C#

Bartosz Jachnik - Kino

Bazy danych. Polecenia SQL

Instalacja MySQL.

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

Programowanie w Ruby

Projektowanie systemów baz danych

Relacyjne bazy danych. Podstawy SQL

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Język SQL, zajęcia nr 2

Bazodanowe usługi sieciowe w technologii ASP.NET. dr inż. Tomasz Tatoń

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Bazy danych. dr inż. Arkadiusz Mirakowski

CREATE TABLE autorzy ( id_autora SERIAL PRIMARY KEY, imie TEXT, nazwisko TEXT );

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Wykład 5: PHP: praca z bazą danych MySQL

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Paweł Cieśla. Dokumentacja projektu

Politechnika Częstochowska. Projektowanie systemów użytkowych II

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

LAB 6 BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL,

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Systemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Bazy danych. dr Radosław Matusik. radmat

Bazy danych 10. SQL Widoki

MVC w praktyce tworzymy system artykułów. cz. 1

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3

Bazy danych 7. SQL podstawy

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Protokół JDBC współpraca z relacyjnymi bazami danych lab4. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

LINQ TO SQL w dużym skrócie jest to zintegrowany język zapytao pozwalający na mapowanie relacyjnych baz danych na model obiektowy.

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Bazy danych i usługi sieciowe

Wdrożenie modułu płatności eservice. dla systemu Magento

Przykładowa baza danych BIBLIOTEKA

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

Autor: Joanna Karwowska

Wielojęzykowość w aplikacjach J2EE. Tomasz.Skutnik@e-point.pl

Wieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

Nowe technologie baz danych

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Jerzy Nawrocki, Wprowadzenie do informatyki

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner

Ćwiczenia 2 IBM DB2 Data Studio

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Monika Sychla Daniel Smolarek Projekt bazy danych

Bazy danych 12. SQL Wyszukiwanie pełnotekstowe

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Integracja Comarch e-sprawozdania

Projektowanie aplikacji w modelu MVC opartej o framework CodeIgniter

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Dokumentacja SQL API 1

Przykład 3 Zdefiniuj w bazie danych hurtownia_nazwisko przykładową funkcję użytkownika fn_rok;

Wprowadzenie do JDBC z wykorzystaniem bazy H2

BAZY DANYCH Cz III. Transakcje, Triggery

Podstawowe wykorzystanie Hibernate

Walidacja danych w ASP.NET MVC

Bazy danych SQLite w Javie

SQL :: Data Definition Language

Tuning SQL Server dla serwerów WWW

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

Aplikacje bazodanowe. dr inż. Arkadiusz Mirakowski

Bazy danych Ćwiczenia projektowe

SIECI KOMPUTEROWE I BAZY DANYCH

akademia androida Składowanie danych część VI

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

Baza danych do przechowywania użytkowników

Transkrypt:

Bazy danych dla producenta mebli tapicerowanych Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r.

Założenia Stworzyć system bazodanowy dla małej firmy produkującej meble tapicerowane. Projekt ma umożliwić archiwizację bazy danych klientów wraz z zamówieniami oraz produktów dostępnych w sklepie. Uwzględnienie wszystkich rzeczywistych zmian w obiektach bazy. Baza powinna być prosta w obsłudze w formie aplikacji okienkowej.

Podział Bazy Na potrzeby projektu podzieliliśmy bazę na 4 główne tabele: Produkty; Klienci; Zamówienia; Tabela w której, znajdują się produkty przypisane do danego zamówienia

Klienci Tabele Zamówienia Produkty Lista produktów(zamówienie)

Funkcjonalność Bazy Dodawanie/edycja/usuwanie rekordów we wszystkich tabelach. Wyświetlenie zamówień w trakcie realizacji. Wyświetlenie zamówień z ostatnich 14 dni. Wyświetlenie bestsellerów produktów, które sprzedają się najczęściej. Przeszukiwanie bazy.

Przykładowe polecenia SQL Tworzenie nowej tabeli Produkty: CREATE TABLE "Produkty" ( "Id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, "Nazwa" VARCHAR(40) NOT NULL, "Kategoria" VARCHAR(25) ) Dodawanie rekordów do tabeli Klient: INSERT INTO Klient VALUES (1, Roman, Romański, Grunwaldzka, 1/3, 54-129, Wrocław, Roman@gmail.com, Najnowszy Klient) Wybieranie rekordu, który chcemy pokazać: SELECT id, Imie, Nazwisko FROM Klient Wybieranie rekordów na podstawie kryteriów: SELECT id, Imie, Nazwisko, Miejscowosc FROM Klient WHERE Imie='Adam' AND Miejscowosc='Wrocław' Tworzenie podzapytania- zagnieżdżanie: SELECT id, Imie, Nazwisko, Miejscowosc FROM Klient WHERE Nazwa=(SELECT Produkt, Nazwa FROM Produkt WHERE Nazwa= Sofa )

Środowisko programistyczne Do stworzenia bazy danych użyliśmy środowiska programistycznego.net C#. Całość jest napisana w konwencji Code First. Narzędziem do obsługi bazy jest MS SQL Server Express Edition 2014 Management Studio. Natomiast interfejsem bazy jest prosta aplikacja okienkowa która pozwala na komunikacje Klient-Server-Klient.

Porównanie C# z językiem SQL foreach (var a in db.klient) var temp = from p in a.zamowienia where p.stan_zamowienia.contains("zakonczono") == false select p; foreach (var c in temp) lista.add(c); C# Język SQL SELECT id, Imie, Nazwisko, Miejscowosc FROM Klient WHERE Id = (SELECT Id FROM Zamówienie WHERE Stan_zamowienia= zakonczono ) using (var db = new MebleBazaDbContext()) var temp = from p in db.klient where p.imie.contains(textbox10.text) p.nazwisko.contains(textbox10.text) select p; foreach (var c in temp) lista.add(c); Zamowienie zamowienie = new Zamowienie() Data = new DateTime(2000, 1, 1), Koszt_Transportu = 100, Koszt_Zamowienia = 200, Stan_Zamowienia = "zakonczono" SELECT id, Imie, Nazwisko, FROM Klient WHERE Imie = 'textbox10.text' OR Nazwisko = 'textbox10.text OR INSERT INTO Zamowienie VALUES ( 1, 2000/1/1, 100, 200, zakończono )

Interfejs użytkownika

Fragmenty kodu Tworzenie tabeli Produktów: public class Produkt public int Id get; set; public string Nazwa get; set; public string Kategoria get; set; public int Cena get; set; public Produkt() public string getnazwa() return Nazwa; Dodawanie produktów do bazy: using (var ctx = new MebleBazaDbContext()) if (ID == 0) Produkt produkt = new Produkt() Nazwa = textbox1.text, Kategoria = combobox1.text, Cena = int.parse(textbox3.text) ; ctx.produkty.add(produkt); ctx.savechanges(); public override string ToString() return string.format("1 0 Cena: 2", Nazwa, Kategoria, Cena);

Wyszukiwanie zamówień z ostatnich 14-stu dni: List<Zamowienie> lista = new List<Zamowienie>(); using (var db = new MebleBazaDbContext()) foreach (var a in db.klient) var temp = from p in a.zamowienia where p.data >= DateTime.Now.AddDays(-14) select p; foreach (var c in temp) lista.add(c); listbox2.datasource = lista; listbox2.refresh(); Pokaż produkty sprzedające się najlepiej: List<Produkt> lista = new List<Produkt>(); using (var db = new MebleBazaDbContext()) foreach (var b in db.produkty) int i = 0; foreach (var a in db.klient) foreach (var c in a.zamowienia) var temp = from p in c.produkty where p.nazwa.equals(b.nazwa) select p; foreach (var asd in temp) i++; if(i > 1) lista.add(b); listbox3.datasource = lista; listbox3.refresh();

Dalszy rozwój Stworzenie systemu kont pracowników. Automatyczne liczenie kosztu transportu przy pomocy kodu pocztowego. Planowanie trasy rozwozu mebli. Stworzenie strony internetowej w języku PHP, wykorzystującej bazę danych. Stworzenie większej ilości tabel (np. bazę dostępnych materiałów).

Dziękujemy za uwagę