Міністерство освіти, науки, молоді і спорту України
Національний університет «Львівська політехніка»
Звіт
До лабораторної роботи №2
З дисципліни «Технології об'єктно-орієнтованого програмування»
На тему «Створення проекту для роботи з базою даних»
Порядок виконання роботи
1. Встановіть на комп’ютер сервер баз даних MySQL 5 (http://www.mysql.com/downloads/mysql/ ) або один із пакетів веб-розробника (XAMPP (http://www.apachefriends.org/en/xampp.html), WAMP (http://www.wampserver.com/en/), та ін.) до складу якого входить MySQL.
2. Запустіть сервер MySQL, використовуючи відповідний пункт в меню “Програми”, ярлик на “Робочому столі” або через “Панель керування ( Адміністрування ( Служби”. Якщо встановлено пакет веб-розробника, зверніться через браузер за адресою http://localhost/ і перевірте його роботу.
3. Для роботи з сервером, базами даних та таблицями можна використати утиліти MySQL Workbench, HeidiSQL, phpMyAdmin (http://localhost/phpmyadmin/ ) або ін.
4. Згідно з варіантом індивідуального завдання створіть базу даних і вказані таблиці, а також користувачів.
5. Введіть 4-5 записів у кожну таблицю бази даних.
6. Перевірте можливості переміщення по таблицях, редагування, додавання та вилучення записів, підтвердження та скасування змін.
8. Перевірте можливості експорту бази даних та таблиць у файл формату SQL.
9. У звіті по роботі наведіть код на мові SQL, згенерований під час створення бази даних, таблиць та при редагуванні даних у таблицях, а також екранограми для таблиць.
Індивідуальне завдання до лабораторної роботи № 2
9. Страхова компанія.
a) таблиця “Виплати”, умова – “Дата виплати” – 2012 рік і “Сума виплати” до 5 000 грн.;
b) таблиця “Виплати”;
c) таблиця “Угоди”, умова – збільшити “Тарифну ставку” на 15 % для певного “Коду виду страхування”;
d) таблиця “Вид страхування”, умова – певне значення “Назви”.
JAVA код
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.text.DateFormat;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.Collator;
//import java.util.Date;
public class TestJDBC {
public static void main(String args[]) {
System.out.println("Copyright 2012,yura heto");
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
ResultSet rs1 = null;
System.out.println("vvedit punktu vid 1-4");
System.out.println("1. Select з таблиці виплати при умові");
System.out.println("2. Insert Таблиця виплати");
System.out.println("3. Update Таблиця угоди");
System.out.println("4. Delete Таблиця вид страхування");
System.out.println("vuberit punkt");
int vub;
Scanner scan=new Scanner(System.in);
vub=scan.nextInt();
switch (vub){
case(1):{
try {Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/num2";
con = DriverManager.getConnection(url, "root", "1234");
stmt = con.createStatement();
rs = stmt.executeQuery("SELECT * FROM vupalty WHERE suma_vuplatu<5000 AND YEAR(data_vuplaty)=2012");
while (rs.next()) {
String str = rs.getInt(1) + ":" + rs.getInt(2)+":"+rs.getDate(3)+":"+rs.getInt(4);
printString(str);
// System.out.println(str);
}
System.out.println("успіх");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (con != null) {
con.close();
}
} catch (SQLException ex) {
ex.printStackTrace();
System.err.println("Error: " + ex.getMessage());
}
}
}break;
case(2):{
try {Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/num2";
con = DriverManager.getConnection(url, "root", "1234");
// stmt = con.createStatement();
String kod,nomer,suma,data;
System.out.println("vvedit dani dlya onovlenya tabluci");
Scanner scan1=new Scanner(System.in);
System.out.println("kod vuplatu");
kod=scan1.next();
System.out.println("nomer ygodu");
nomer=scan1.next();
System.out.println("suma strahyvanya");
suma=scan1.next();
System.out.println("data strahyvannya");
data=scan1.next();
stmt = con.createStatement();
stmt.executeUpdate("INSERT INTO vupalty "+
"(kod_vuplaty, nomer_ygodu, data_vuplaty, suma_vuplatu) "+
" VALUES ( "+kod+", "+nomer+", '"+data+"', "+suma+")");
// " VALUES ('572', '794', '9000', '2012-12-10')");
System.out.println("успіх");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (con != null) {
con.close();
}
} catch (SQLException ex) {
ex.printStackTrace();
System.err.println("Error: " + ex.getMessage());
}
}
}break;
case(3):{
try {Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/num2";
con = DriverManager.getConnection(url, "root", "1234");
String kod,stav;
System.out.println("vvedit dani dlya onovlenya tabluci");
Scanner scan1=new Scanner(System.in);
System.out.println("kod vudy strahyvannya");
kod=scan1.next();
System.out.println("na skilku procentiv zbishutu");
stav=scan1.next();
stmt = con.createStatement();
// STUDENTS SET group_id=2, educationYear=2007 WHERE student_id=10
stmt.executeUpdate("UPDATE ygodu SET tarufna_stavka=tarufna_stavka+tarufna_stavka*"+stav+" " +
"WHERE kod_vudy_strahyvannya="+kod);
System.out.println("успіх");
// " VALUES ('572', '794', '9000', '2012-12-10')");
} catch (Exception e) {
e.printStackTrace();
} finally {
//
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (con != null) {
con.close();
}
} catch (SQLException ex) {
ex.printStackTrace();
System.err.println("Error: " + ex.getMessage());
}
}
}break;
case(4):{
try {Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/num2";
con = DriverManager.getConnection(url, "root", "1234");
// vud_strahyvannya
// stmt = con.createStatement();
String kod,nazva;
System.out.println("vvedit nazvy strahyvannya dlya vudalennya ryadka ");
Scanner scan1=new Scanner(System.in);
// System.out.println("kod vudy strahyvannya");
nazva=scan1.next();
int j=0;
String str;
String str1[] = new String[100];
stmt = con.createStatement();
//beereno nazvy z vudy strahyvannya
rs = stmt.executeQuery("SELECT * FROM vud_strahyvannya WHERE nazva='"+nazva+"'");
rs.next();
str=rs.getString(1);
System.out.println(str);
//vudalyaemo z vudy strahyvannya
stmt.executeUpdate("DELETE FROM vud_strahyvannya WHERE nazva='"+nazva+"'");
rs1 = stmt.executeQuery("SELECT * FROM ygodu WHERE kod_vudy_strahyvannya='"+str+"'");
while (rs1.next()) {
str1[j]=rs1.getString(1);
System.out.println(str1[j]);
j++;
}
stmt.executeUpdate("DELETE FROM ygodu WHERE kod_vudy_strahyvannya='"+str+"'");
for (int k=0;k<j;k++){
stmt.executeUpdate("DELETE FROM vupalty WHERE nomer_ygodu='"+str1[k]+"'");
}
System.out.println("успіх");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (con != null) {
con.close();
}
if (rs1 != null) {
rs1.close();
}
} catch (SQLException ex) {
ex.printStackTrace();
System.err.println("Error: " + ex.getMessage());
}
}
}break;
}
}
public static void printString(Object s) {
try {
System.out.println(new String(s.toString().getBytes("windows-1251"), "windows-1252"));
} catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
}
}
}
Результати виконання програми
Рис.1 меню програми
Рис.2 виконання програми 1
Рис.3 Виконання програми 2
Висновок: на цій лабораторній роботі я навчився встановлювати на комп’ютер MySQL 5, створювати і запускати базу даних, додавати в неї таблиці, створювати нових користувачів, робити експорт бази даних та таблиць в SQL файл. Для роботи з сервером, базами даних та таблицями я використав утиліту MySQL Workbench.