Andmelao pringumootor Janek Press Daniel Skornjakov Andmelao pringumootor





![Klass “Warehouse” meetodid • Andmeladu – Create. Warehouse(String name, String[] dims, String[][] hierarchies, String[] Klass “Warehouse” meetodid • Andmeladu – Create. Warehouse(String name, String[] dims, String[][] hierarchies, String[]](https://slidetodoc.com/presentation_image_h/7e03ab327f96f0bf36ff63b6a7e301d1/image-6.jpg)
![Klass “Warehouse” meetodid • Andmekuup – public boolean Create. Cube(String name, String[] dims, String[] Klass “Warehouse” meetodid • Andmekuup – public boolean Create. Cube(String name, String[] dims, String[]](https://slidetodoc.com/presentation_image_h/7e03ab327f96f0bf36ff63b6a7e301d1/image-7.jpg)

![Klass “Warehouse” meetodid • Päringud – private int Exec. SQL(String[] commands) • Näide String[] Klass “Warehouse” meetodid • Päringud – private int Exec. SQL(String[] commands) • Näide String[]](https://slidetodoc.com/presentation_image_h/7e03ab327f96f0bf36ff63b6a7e301d1/image-9.jpg)
![Klass “Engine” • public String[][] Execute. Query(String query); Klass “Engine” • public String[][] Execute. Query(String query);](https://slidetodoc.com/presentation_image_h/7e03ab327f96f0bf36ff63b6a7e301d1/image-10.jpg)
![Näide Engine eng = new Engine(new Warehouse(cnf. My. SQL[0], cnf. My. SQL[1], cnf. My. Näide Engine eng = new Engine(new Warehouse(cnf. My. SQL[0], cnf. My. SQL[1], cnf. My.](https://slidetodoc.com/presentation_image_h/7e03ab327f96f0bf36ff63b6a7e301d1/image-11.jpg)



- Slides: 14

Andmelao “päringumootor” Janek Press Daniel Skornjakov

Andmelao “päringumootor” • Java • Mysql Connector/J • Mysql

Andmelao “päringumootor” • Klass “Warehouse” • Klass “Engine”

Klass “Warehouse” • • • Ühendus Mysql-ga Andmeladu Andmekuup Hierarhiad Päringud

Klass “Warehouse” meetodid • Ühendus Mysql-ga – public Warehouse(String host, String db, String user, String pass); – public Connection Get. Connection() – public void Close() – public boolean Is. Connected()
![Klass Warehouse meetodid Andmeladu Create WarehouseString name String dims String hierarchies String Klass “Warehouse” meetodid • Andmeladu – Create. Warehouse(String name, String[] dims, String[][] hierarchies, String[]](https://slidetodoc.com/presentation_image_h/7e03ab327f96f0bf36ff63b6a7e301d1/image-6.jpg)
Klass “Warehouse” meetodid • Andmeladu – Create. Warehouse(String name, String[] dims, String[][] hierarchies, String[] measures) – public boolean Drop. Warehouse(String name)
![Klass Warehouse meetodid Andmekuup public boolean Create CubeString name String dims String Klass “Warehouse” meetodid • Andmekuup – public boolean Create. Cube(String name, String[] dims, String[]](https://slidetodoc.com/presentation_image_h/7e03ab327f96f0bf36ff63b6a7e301d1/image-7.jpg)
Klass “Warehouse” meetodid • Andmekuup – public boolean Create. Cube(String name, String[] dims, String[] hierarchies, String[] measures – public boolean Create. Cube(String name, String[] dims, int[] hierarchies, String[] measures) – public boolean Drop. Cubes(String name)

Klass “Warehouse” meetodid • Hierarhiad – public boolean Reset. Hierarchies() – public boolean Delete. Hierarchy(String base) – public boolean Create. Hierarchy(String base, String[] levels) – public String[] Get. Hierarchy(String base) – public int Get. Hierarchy. Count(String base)
![Klass Warehouse meetodid Päringud private int Exec SQLString commands Näide String Klass “Warehouse” meetodid • Päringud – private int Exec. SQL(String[] commands) • Näide String[]](https://slidetodoc.com/presentation_image_h/7e03ab327f96f0bf36ff63b6a7e301d1/image-9.jpg)
Klass “Warehouse” meetodid • Päringud – private int Exec. SQL(String[] commands) • Näide String[] insert = new String[1]; Insert[0] = “INSERT INTO. . ”; Exec. Sql(Insert);
![Klass Engine public String Execute QueryString query Klass “Engine” • public String[][] Execute. Query(String query);](https://slidetodoc.com/presentation_image_h/7e03ab327f96f0bf36ff63b6a7e301d1/image-10.jpg)
Klass “Engine” • public String[][] Execute. Query(String query);
![Näide Engine eng new Enginenew Warehousecnf My SQL0 cnf My SQL1 cnf My Näide Engine eng = new Engine(new Warehouse(cnf. My. SQL[0], cnf. My. SQL[1], cnf. My.](https://slidetodoc.com/presentation_image_h/7e03ab327f96f0bf36ff63b6a7e301d1/image-11.jpg)
Näide Engine eng = new Engine(new Warehouse(cnf. My. SQL[0], cnf. My. SQL[1], cnf. My. SQL[2], cnf. My. SQL[3])); eng. Get. Warehouse(). Reset. Hierarchies(); String[] dims = { "aeg", "asukoht", "toode" }; String[][] hierarchies = { { "paev", "nadal", "kuu", "aasta" }, {"maakond", "linn"}, null}; String[] measures = { "summa", "kogus" }; eng. Get. Warehouse(). Create. Warehouse("myyk", dims, hierarchies, measures); eng. Get. Warehouse(). Insert. Data("data. txt"); Print. Results(eng. Execute. Query("SELECT aeg: nadal, asukoht: linn, summa FROM myyk; ")); Print. Results(eng. Execute. Query("SELECT nadal, linn, summa FROM myyk; "));

Näide: tabelid • • • Myyk (id_aeg, id_asukoht, id_toode, summa, kogus) Myyk_aeg (id_aeg, paev, nadal, kuu, aasta) Myyk_asukoht (id_asukoht, maakond, linn) Myyk_cube_aeg_asukoht (id_aeg, id_asukoht, summa, aggr_count) Hierarchies (base, element, level) aeg paev 0 aeg nadal 1 aeg kuu 2 aeg aasta 3 asukoht maakond 0 asukoht linn 1

Näide: “data. txt” • • • INSERT INTO myyk (id_aeg, id_asukoht, id_toode, summa, kogus) values('1', '1000', '1') INSERT INTO myyk (id_aeg, id_asukoht, id_toode, summa, kogus) values('1', '2', '1050', '1') INSERT INTO myyk (id_aeg, id_asukoht, id_toode, summa, kogus) values('1', '2', '1500', '1') INSERT INTO myyk (id_aeg, id_asukoht, id_toode, summa, kogus) values('1', '3', '1200', '1') INSERT INTO myyk (id_aeg, id_asukoht, id_toode, summa, kogus) values('1', '2', '4', '2000', '1') INSERT INTO myyk (id_aeg, id_asukoht, id_toode, summa, kogus) values('2', '1', '4', '2100', '1') INSERT INTO myyk (id_aeg, id_asukoht, id_toode, summa, kogus) values('3', '2', '4', '1800', '1') INSERT INTO myyk (id_aeg, id_asukoht, id_toode, summa, kogus) values('2', '1400', '1') INSERT INTO myyk (id_aeg, id_asukoht, id_toode, summa, kogus) values('3', '1', '2', '5000', '5') • • INSERT INTO myyk_toode values('1', 'Protsessor AMD') INSERT INTO myyk_toode values('2', 'Protsessor Intel') INSERT INTO myyk_toode values('3', 'Protsessor Celeron') INSERT INTO myyk_toode values('4', 'Emaplaat Asus') • • • INSERT INTO myyk_aeg (id_aeg, paev, nadal, kuu, aasta) values('1', '10', '2', '30', '4') INSERT INTO myyk_aeg (id_aeg, paev, nadal, kuu, aasta) values('2', '5', '3', '40', '4') INSERT INTO myyk_aeg (id_aeg, paev, nadal, kuu, aasta) values('3', '10', '2', '41', '4') • • INSERT INTO myyk_asukoht values('1', 'Tartumaa', 'Tartu') INSERT INTO myyk_asukoht values('2', 'Harjumaa', 'Tallinn')

Päring Sql’le • SELECT myyk_aeg. nadal AS nadal, myyk_asukoht. linn AS linn, SUM(myyk_cube_aeg_asukoht. summa) AS summa FROM myyk_cube_aeg_asukoht, myyk_aeg, myyk_asukoht WHERE myyk_cube_aeg_asukoht. id_aeg=myyk_aeg. id_aeg AND myyk_cube_aeg_asukoht. id_asukoht=myyk_asukoht. id_asukoht GROUP BY myyk_aeg. nadal, myyk_asukoht. linn