Tworzenie aplikacji bazodanowych w delphi dla dużych baz danych FRAMEWORK IMPET

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

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Wykład 8. SQL praca z tabelami 5

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

Oracle11g: Wprowadzenie do SQL

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

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Bazy danych. Polecenia SQL

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Database Connectivity

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

P o d s t a w y j ę z y k a S Q L

PHP: bazy danych, SQL, AJAX i JSON

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Bazy danych - wykład wstępny

Relacyjne bazy danych. Podstawy SQL

Oracle PL/SQL. Paweł Rajba.

Indeksowanie w bazach danych

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Bazy danych Access KWERENDY

Systemy GIS Tworzenie zapytań w bazach danych

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

ANALYSIS SERVICES. 1. Tworzymy połączenie ze źródłem danych. 2. Tworzymy nowy widok dla źródła danych

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

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

5. Bazy danych Base Okno bazy danych

Microsoft SQL Server Podstawy T-SQL

Programowanie MorphX Ax

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

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

QUERY język zapytań do tworzenia raportów w AS/400

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

Podstawy technologii WWW

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Relacyjne bazy danych. Podstawy SQL

Tworzenie raportów XML Publisher przy użyciu Data Templates

Wykład 5. SQL praca z tabelami 2

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Język SQL. Rozdział 2. Proste zapytania

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

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

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Ref. 7 - Język SQL - polecenia DDL i DML

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Projektowanie systemów baz danych

WPROWADZENIE DO BAZ DANYCH

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

plansoft.org Zmiany w Plansoft.org Błyskawiczny eksport danych PLANOWANIE ZAJĘĆ, REZERWOWANIE SAL I ZASOBÓW

Wykład 6. SQL praca z tabelami 3

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

Opis modułu pl.id w programie Komornik SQL-VAT

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

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Baza danych sql. 1. Wprowadzenie

DECLARE VARIABLE zmienna1 typ danych; BEGIN

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

Programowanie po stronie serwera w SZBD. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

Oracle11g: Programowanie w PL/SQL

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

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

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

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

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Framework IMPET. Dokumentacja techniczna. Software Factory Maciej Szymczak, Data utworzenia: Data ostatniej aktualizacji:

Automatyczne generowanie kodu. 4Developers, 26 marca 2010

Zwróćmy uwagę w jakiej lokalizacji i pod jaką nazwą zostanie zapisana baza (plik z rozszerzeniem *.accdb). Nazywamy

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska

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

Wprowadzenie do baz danych

OLAP i hurtownie danych c.d.

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

15. Funkcje i procedury składowane PL/SQL

Oracle PL/SQL. Paweł Rajba.

NARZĘDZIA WIZUALIZACJI

TI - Bazy TECHNOLOGIE INFORMACYJNE

W nowej wersji aplikacji Plansoft.org wprowadzono liczne zmiany w module Tabela Przestawna.

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla administratora systemu Warszawa 2007

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

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

SIECI KOMPUTEROWE I BAZY DANYCH

Internetowe bazy danych

Rozkład materiału Specjalizacja: Systemy baz danych

Kancelaria zmiany w programie styczeń 2009

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

Transkrypt:

Tworzenie aplikacji bazodanowych w delphi dla dużych baz danych FRAMEWORK IMPET Maciej Szymczak, maj 2001 soft@home.pl Ostatnia aktualizacja: 2012-03-31 1

Plan widoczny podczas całego wykładu Numer slajdu 2

Duża liczba rekordów w tabelach; Skomplikowana struktura bazy. 3

Zasady budowania schematu bazy danych (1/5) (Na podstawie Case Method) Nazewnictwo obiektów bazy danych - Nazwy tabel formułować w liczbie mnogiej; - Stosować nazewnictwo w jednym języku; - Nazwy muszą być zwięzłe i zrozumiałe; - Jeżeli nazwa atrybutu jest kilkuczłonowa, człony łączyć znakiem "_, nie stosować polskich znaków, stosować wyłącznie duże litery; - Jeżeli atrybuty stanowią grupę (np. adres), grupę poprzedzać przedrostkiem lub stosować typy mnogościowe; - Każda tabela musi mieć unikalny alias (3-6 liter); 4

Zasady budowania schematu bazy danych (2/5) - Nazewnictwo kluczy obcych to <alias tabeli>_id; - Każda tabela musi mieć jednokolumnowy klucz główny ID NUMBER; - Nazewnictwo sekwencji to <alias tabeli>_seq; - Nazewnictwo indeksów to <alias tabeli>_<kolumny>_i; Create table CUSTOMERS (ID,FIRST_NAME,ADDRESS_STREET,ADDRESS_CITY,ADDRESS_COUNTRY NUMBER(10) NOT NULL VARCHAR2(30), VARCHAR2(200)); VARCHAR2(200)); VARCHAR2(200)); 5

Zasady budowania schematu bazy danych (3/5) Budowanie fizycznego modelu danych - Puste kolumny umieszczać na końcu; - Stosować powiązania 1-1 w celu umieszczania rzadziej używanych atrybutów w innych; przestrzeniach tabel; - Odpowiednio dobrać PRC FREE i USED; - tabele i indeksy umieszczać w osobnych przestrzeniach tabel; - Odpowiednia liczba segmentów wycofania; - Ograniczenie audytu do niezbędnych zdarzeń - Za małe, lub za duże przestrzenie sortowania, pamięci współdzielonej; 6

Zasady budowania schematu bazy danych (4/5) Kontrola praw dostępu po stronie serwera - Użytkownicy na serwerze bazy danych lub na serwerze www; - Uprawnienia systemowe, obiektowe - role. Nie implementować praw dostępu po stronie klienta. 7

Zasady budowania schematu bazy danych (5/5) W miarę możliwości przetwarzanie danych wykonywać po stronie serwera bazy danych - Procedury osadzane; - Przyspieszenie operacji; - Zmniejszenie ruchu w sieci; - Wyzwalacze; - Zapewnienie spójności wewnętrznej danych; - Problem mutujących tabel; 8

schemat bazy danych... 9

... i prawa dostępu - Użytkownik DEMO - wszystkie tabele - Użytkownik REJ_POLISY - dodawanie POLIS + przeglądanie wszystkich danych - Użytkownik REJ_OSOBY - dodawanie OSÓB + przeglądanie wszystkich danych 10

Moduł Osoby 11

Moduł Polisy 12

Moduł Składki 13

Diagram danych bazy a diagram danych modułu 14

Generowanie formularza Designer - zestaw preferencji, fmb, olb - formularz 15

Środowisko Forms Developer ma wbudowane standardowe mechanizmy obsługi BD na przykład: - Blokowanie rekordu; - Maks. liczba rekodów pobieranych z serw.; - Wyszukiwanie danych; - Klawisze skrótów. 16

Lotus Notes 17

Lotus Notes 18

Delphi Schemat aplikacji Podejście spontaniczne - Te same problemy są rozwiązywane wielokrotnie, problemy z konserwacją oprogramowania, prawdopodobieństwo popełnienia błędów; - Duża czasochłonność wykonania systemu. 19

Delphi Schemat aplikacji Podejście metodyczne FRAMEWORK IMPET - Wzorzec formularza z wbudowaną standardową funkcjonalnością. 20

Delphi Schemat aplikacji Podejście metodyczne Założenie: - Moduł danych zawiera tylko Database i query do wykonywania zapytań pomocniczych. SQL dla formularza znajdzie się na formularzu. 21

Delphi Schemat aplikacji Podejście metodyczne - budowanie wzorca formularza BD 22

Budowanie wzorca formularza - zapewnienie wielojęzyczności dziedziczone z formularza bazowego 23

Budowanie wzorca formularza - zapewnienie wielojęzyczności - edytor tekstów na formularzu 24

Budowanie wzorca formularza - siatka 25

Budowanie wzorca formularza - Tryby wywołania formularza Procedure ShowModalAsBrowser; Function ShowModalAsSelect(Var aid : ShortString) : TModalResult; Function ShowModalAsMultiSelect(Var aids : String) : TModalResult; Function ShowModalAsSingleRecord(Action : Integer; Var ID : ShortString) : TModalResult; 26

Budowanie wzorca formularza - zakładka aktualizacja 27

Budowanie wzorca formularza - przyciski Zatwierdź, OK, Anuluj ze standardową funkcjonalnością 28

Budowanie wzorca formularza - dodatkowe przyciski podrzędne dostępne po zatwierdzeniu rekordu ze standardową funkcjonalnością 29

Budowanie wzorca formularza - standardowe przyciski udostępniane i blokowane w razie potrzeby ze standardową funkcjonalnością 30

Budowanie wzorca formularza - rejestracja i wyświetlanie błędów z serwera bazy danych, np. zatrzaski, problemy komunikacyjne 31

Budowanie wzorca formularza - tryby przeglądarka/ wybieranie 32

Budowanie wzorca formularza - pasek statusu 33

Budowanie wzorca formularza - rejestrowanie zbyt długiego czasu odpowiedzi systemu w logu 34

Budowanie wzorca formularza - zliczanie liczby rekordów 35

Budowanie wzorca formularza - określanie liczby rekordów pobieranych z serwera WHERE... AND ROWNUM < 100 (składnia dla Oracle) 36

Budowanie wzorca formularza - pasek poleceń 37

Budowanie wzorca formularza - moduł filtrowania WHERE %CONDITIONALS 38

Budowanie wzorca formularza - moduł filtrowania 39

Budowanie wzorca formularza - lokator inkremetalny WHERE %SEARCH 40

Budowanie wzorca formularza - definiowanie porządku sortowania %SORTORDER 41

Budowanie wzorca formularza - moduł wydruków 42

Budowanie wzorca formularza - moduł wydruków 43

Budowanie wzorca formularza - moduł wydruków 44

Budowanie wzorca formularza - moduł wykresy 45

Budowanie wzorca formularza - moduł wykresy 46

Budowanie wzorca formularza - moduł podsumowań 47

Budowanie wzorca formularza - moduł podsumowań 48

Budowanie wzorca formularza - moduł podsumowań 49

Budowanie wzorca formularza - moduł podsumowań 50

Budowanie wzorca formularza - moduł podsumowań 51

Budowanie wzorca formularza - moduł eksportu 52

Budowanie wzorca formularza - moduł eksportu 53

Budowanie wzorca formularza - moduł eksportu 54

Budowanie wzorca formularza - moduł zestawień krzyżowych 55

Budowanie wzorca formularza - moduł zestawień krzyżowych 56

Budowanie wzorca formularza - moduł ustawień konfiguracyjnych 57

Budowanie wzorca formularza - moduł ustawień konfiguracyjnych 58

Budowanie wzorca formularza - moduł ustawień konfiguracyjnych 59

Budowanie wzorca formularza - moduł ustawień konfiguracyjnych 60

Budowanie wzorca formularza - moduł ustawień konfiguracyjnych 61

Budowanie wzorca formularza - moduł ustawień konfiguracyjnych 62

Budowanie wzorca formularza - moduł ustawień konfiguracyjnych 63

Budowanie wzorca formularza - uprawnienia, odświeżanie 64

Budowanie wzorca formularza - nawigacja po rekordach 65

Budowanie wzorca formularza - query, menu podręczne,... - wspólne query dla polecenie SELECT, DELETE, UPDATE, INSERT 66

Budowanie wzorca formularza - postać zapytania SQL 67

Budowanie wzorca formularza - pozostałe elementy 68

Praktyczny pokaz budowania aplikacji - skopiowanie projektu bazowego... 69

Praktyczny pokaz budowania aplikacji... i zmiana nazwy na Demo 70

Praktyczny pokaz budowania aplikacji - Otwarcie projektu... 71

Praktyczny pokaz budowania aplikacji... i zmiana nazwy projektu... 72

Praktyczny pokaz budowania aplikacji... na Demo 73

Praktyczny pokaz budowania aplikacji - otwarcie modułu danych w celu uzyskania połączenia z bazą danych 74

Praktyczny pokaz budowania aplikacji - utworzenie nowego formularza dziedziczącego po formularzu wzorcowym 75

Praktyczny pokaz budowania aplikacji - utworzenie nowego formularza dziedziczącego po formularzu wzorcowym (cd.) 76

Praktyczny pokaz budowania aplikacji - utworzenie nowego formularza dziedziczącego po formularzu wzorcowym (cd.) 77

Praktyczny pokaz budowania aplikacji - zachowanie formularza pod nazwą UFBrowse<nazwa tabeli bazowej>, nadanie nazwy formularzowi FBrowse<nazwa tabeli bazowej> 78

Praktyczny pokaz budowania aplikacji - wprowadzenie polecenia SQL 79

Praktyczny pokaz budowania aplikacji - poprawienie nagłówka 80

Praktyczny pokaz budowania aplikacji - uzupełnienie zakładki aktualizacja 81

Praktyczny pokaz budowania aplikacji - uzupełnienie zakładki aktualizacja - użycie narzędzia case generujące wygląd zakładki 82

Praktyczny pokaz budowania aplikacji - uzupełnienie zakładki aktualizacja 83

Praktyczny pokaz budowania aplikacji - porządek klawisza TAB 84

Praktyczny pokaz budowania aplikacji - metody wartości domyśle pól i sprawdź rekord 85

Praktyczny pokaz budowania aplikacji - metody wartości domyśle pól i sprawdź rekord 86

Praktyczny pokaz budowania aplikacji - umieszczenie formularza w available forms 87

Praktyczny pokaz budowania aplikacji - umieszczenie formularza w available forms 88

Praktyczny pokaz budowania aplikacji - procedury do wywoływania formularza 89

Praktyczny pokaz budowania aplikacji - procedury do wywoływania formularza 90

Praktyczny pokaz budowania aplikacji - procedury do wywoływania formularza 91

Praktyczny pokaz budowania aplikacji - procedury do wywoływania formularza 92

Praktyczny pokaz budowania aplikacji - podłączenie gotowego formularz do menu 93

Praktyczny pokaz budowania aplikacji - podłączenie gotowego formularz do menu 94

Praktyczny pokaz budowania aplikacji - okno podglądu składek 95

Praktyczny pokaz budowania aplikacji - okno podglądu składek (cd.) 96

Praktyczny pokaz budowania aplikacji - okno podglądu składek (cd.) 97

Praktyczny pokaz budowania aplikacji - definiowanie porządków sortowania 98

Praktyczny pokaz budowania aplikacji - definiowanie porządków sortowania 99

Praktyczny pokaz budowania aplikacji - formularz jest gotowy (ok. 60 min pracy) 100

przy formułowaniu zapytań SQL - Niejawne konwersje typów; SELECT * FROM OSOBY WHERE PESEL = 74121703335 PESEL JEST KOLUMNĄ ZNAKOWĄ W tym przypadku optymalizator przeprowadzi konwersję literału przed wykonaniem zapytania, inaczej będzie gdy warunek będzie wynikiem zapytania. 101

przy formułowaniu zapytań SQL - Wyszukiwanie po nieindeksowanych kolumnach; - Pobieranie z bazy większej liczby rekordów niż jest to konieczne; - Nadużywanie składni SELECT * FROM; : EXPLAIN PLAN przełączanie optymalizatora kosztowego/ regułowego Inne pułapki - Stare nawyki - przetwarzanie danych na kliencie; - Ładowanie lookupów w całości do pamięci; - Implementacja praw dostępu po stronie klienta. 102

Na CD-ROM znajduje się przykładowa aplikacja wraz z kodem źródłowym. Program ilustrujący omówione zagadnienia został napisany w Delphi i działa z bazą danych Oracle. Wymagania: serwer Oracle, zainstalowane BDE. DZIĘKUJĘ ZA UWAGĘ 103