Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006
Gábor József Oltványi
PPKE-ITK II. évfolyam QASEL9 Spring, 2006.
Database System Project
Szentjánosbogár Camp Applications
Consultant: Benedek Kaposi
p1/18
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006
p2/18
TABLE OF CONTENTS
Front Page.........................................................................................
p1
Table of Contents ..............................................................................
p2
Specification......................................................................................
p3
Entity-Relation Diagrams (outline, complete) .....................................
p4-5
Relational Schemes ...........................................................................
p6
Creating Tables – in SQL ...................................................................
p7
Inserting into Tables – in SQL............................................................
p9-12
Selecting from Tables – in SQL ..........................................................
p13-14
Functional Dependencies ..................................................................
p15
Normalization to BCNF ......................................................................
p16
Triggers .............................................................................................
p17
Specification – in Hungarian..............................................................
p18
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006
p3/18
SPECIFICATION Children (Szentjanosbogar) applicate to camps this summer (CampThisYear), which are organized all over the country (TakesPlace). In these – excepts for the "Seniors’ Camp" (CampThisYear/Senior) (so that in the Children’s [aged 10-14], Adolescents’ [aged 14-16] and Juniors’ Camps [aged 16-20] (CampThisYear/ChildAdolJunior)) – inhabitants (Inhabitant) accomodate (Accomodating + GivesHome) the children. In the Senior Camp there’s only one building, where everyone sleeps (SleepIn), in rooms (RoomIn) (Room: Number, Max person). In each camp, there are groups (Grop), there are leaders in each group, excepts for the Seniors’ Camp. There are five Children’s Camps, one Adolescents’ Camp in the same week, then there is one Juniors’ Camp the next week, and later one Seniors’ Camp so. Children who applicate to Children’s Camp have to give a priority list (Priority), to indicate which camp they prefer, if the first camp they’ve marked first is full (when there are less inhabitants who can accomodate). So those who apllicate later (by ApplDate) can go to the second, third, etc. camps on their list (["logical"] IsGoingThere attribute is true, if he will go there finally). There’s also an Archive attached to the database, about the former events (Event) and about who has been where (Appeared) so far. DETAILS: An applicant can be a participant, organizer, camp preacher, camp leader, groupleader (except Senior’s Camp), and other (Status). In the children’s application form, there are the following fields: name (Name), address (AddrCity, AddrZip, AddrStreet), phone numbers (MobPhone, HomePhone), E-mail(s) (EMail), place (BornPlace) and date of birth (BornDate), school class (Class), parson’s name (ParsonName), parish address (ParishAddress), parish phone number (ParishPhone), religion teacher or Szentjánosbogár Club’s leader (ReligLeader), illness (IllName), medicine (Medicine), will this medicine with be him during the camp or not (WillHaveMedicine), parent’s name (ParentName), notification (ParentNotification), how much they can pay (CanPay) in the costs of the camp (it can be more or less depending on their possibilities), and how he will arrive to the camp (GettingTo, usually: by car or from Budapest or from an other city with the others). Applicants can indicate with whom they wish to have (or have not: H_ToBeOrNot, G_ToBeOrNot) the same accomodation or group (ClaimToBeIn1Home, ClaimToBeIn1Group). From the hosters we ask the name, address, phone numbers (+ WorkPhone). And also the number of children can they accomodate (CanAccChild), and the number in the last resort (CanAccMax), what is their ideal girl-boy rate preference (GirlBoyRate), how much time it takes to get the morning meeting point from their homes (DistanceFrom), and what is the best vehicle to be used (Vehicle: on foot, by bicicle, car, bus). We store about a former event its type (EventType: "gyerektábor", "kamasztábor", "ifitábor", "szeniortábor", "ősbogártábor", "bál", "rajzás", "métabajnokság", "lelkigyakorlat", "vezetőképző", "táborelőkészítő nap", "konditábor", "játékklub", "bogármise"), its place (ExPlace), the starting (EventStarted) and the ending date (EventEnded). About the participants of these event (Appeared) we store their status (ExStatus: organizer, leader, participant, etc.), and the group name, if there were groups (ExGroup). This year’s camps will take place in different cities or villages (TakesPlace) (there are no two camps organized at the same place). It is important, when the camp starts (Starts), ends (Ends), the costs (Costs), the topic (groups will talk about, Topic), and there is also a symbolic homework (HomeWork). The limit of the number of participants (number_limit) depends on the places offered by the hosters. Altough there are four different age-groups, only two application models are separated: first the application for children, adolescents, juniors (Application_JUN) then for the seniors (Application_SEN). Groups (Grop) have names (GroupName), these groupnames are the same in all Children’s Camp. We can get the group leaders from their application and status, the number of the group is from the group schedule. During the camp there is a trip, where there will be three or four buses tranporting the people – in every bus, there are 34 groups (TripTogether). It is important to separate the planes of time. In an application, we get the constant datas of people, and also get datas only in connection with the application. So we shouldn’t mix for example the future camp-participants for the hosted children (other, different relations!). A child can be a participant in a camp, if his IsGoingThere attribute is 1, it is true, that he goes there.
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006
ENTITY-RELATION DIAGRAM
– the scheme, without the attributes:
– and the next page, with attributes:
p4/18
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006
p5/18
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006
p6/18
RELATIONAL SCHEMES
EVENT ( ExPlace, EventStarted, EventEnded, EventType );
APPEARED ( BID, ExPlace, EventStarted, ExStatus, ExGroup ); SZENTJANOSBOGAR ( BID, Name, AddrCity, AddrZip, AddrStreet, MobPhone, HomePhone, Email, BornPlace, BornDate, Class, ParsonName, ParishAddress, ParishPhone, ReligLeader, ParentName, ParentNotification, IllName, Medicine, WillHaveMedicine );
CLAIMTOBEIN1GROUP ( WHOBID, WITHBID, G_ToBeOrNot ); CLAIMTOBEIN1HOME ( WHOBID, WITHBID, H_ToBeOrNot ); INHABITANT ( IID, Name, AddrCity, AddrZip, AddrStreet, MobPhone, HomePhone, WorkPhone, Email, DistanceFrom, Vehicle );
ACCOMODATED ( BID, IID ); CAMPTHISYEAR ( CampType, TakesPlace, Starts, Ends, Costs, NumberLimit, Topic, HomeWork );
CHILDADOLJUNIOR ( TakesPlace ); SENIOR ( TakesPlace ); APPLICATION_JUN ( BID, TakesPlace, Status, Priority, ApplDate, IsGoingThere, CanPay, GettingTo, IsInhabitant ); -- takesplace is a key, because of the many-many rel. (see: priority)
APPLICATION_SEN ( BID, TakesPlace, CanPay, GettingTo ); --takesplace is not a key, because of the many–1 rel. (1 senior/1 year)
GIVESHOME ( IID, TakesPlace, CanAccChild, CanAccMax, GirlBoyRate, Other ); --takesplace is not a key many-1 rel. (in 1 camp can give home)
ROOM ( RoomNo, Max );
ROOMIN ( TakesPlace, RoomNo ); SLEEPIN ( BID, RoomNo );
GROP GROP ( TakesPlace, GroupName ); TRIPTOGETHER ( TakesPlace, GroupName1, GroupName2, BusID ); GROUPMEMBER ( BID, TakesPlace, GroupName );
p7/18
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006
CREATING TABLES – IN SQL FIRST – DROPPING TABLES: --delete from ClaimToHave1Leader;
delete from roomin;
delete from application_jun;
delete from childadoljunior;
--drop table ClaimToHave1Leader;
drop table roomin;
drop table application_jun;
drop table childadoljunior;
delete from ClaimToBeIn1Home;
delete from groupmember;
delete from appeared;
delete from campthisyear;
drop table ClaimToBeIn1Home;
drop table groupmember;
drop table appeared;
drop table campthisyear;
delete from ClaimToBeIn1Group;
delete from giveshome;
delete from grop;
delete from inhabitant;
drop table ClaimToBeIn1Group;
drop table giveshome;
drop table grop;
drop table inhabitant;
delete from triptogether;
delete from accomodated;
delete from room;
delete from szentjanosbogar;
drop table triptogether;
drop table accomodated;
drop table room;
drop table szentjanosbogar;
delete from sleepin;
delete from application_sen;
delete from senior;
delete from event;
drop table sleepin;
drop table application_sen;
drop table senior;
drop table event;
CREATING: select table_name from user_tables; PROMPT Creating Entity Tables: PROMPT ^^^^^^^^^^^^^^^^^^^^^^^
PROMPT - creating EVENT create table EVENT ( EVENTTYPE varchar2(20), EXPLACE varchar2(30) not null, EVENTSTARTED date not null, EVENTENDED date, primary key ( explace, eventstarted ) ); PROMPT - creating SZENTJANOSBOGAR create table SZENTJANOSBOGAR ( BID number(5) unique, NAME varchar2(50) not null, ADDRCITY varchar2(30) not null, ADDRZIP number(5) not null, ADDRSTREET varchar2(50) not null, MOBPHONE varchar2(15), HOMEPHONE varchar2(15), EMAIL varchar2(100), BORNPLACE varchar2(30) not null, BORNDATE date not null, CLASS number(2), PARSONNAME varchar2(40), PARISHADDRESS varchar2(100), PARISHPHONE varchar2(15), RELIGLEADER varchar2(40), PARENTNAME varchar2(50), PARENTNOTIFICATION varchar2(50), ILLNAME varchar2(50), MEDICINE varchar2(50), WILLHAVEMEDICINE number(1) -- boolean ); PROMPT - creating INHABITANT create table INHABITANT ( IID number(5) NAME varchar2(50) ADDRCITY varchar2(30) ADDRZIP number(5) ADDRSTREET varchar2(50) MOBPHONE varchar2(15), HOMEPHONE varchar2(15), WORKPHONE varchar2(15), EMAIL varchar2(100), DISTANCEFROM number(2), VEHICLE varchar2(15) );
unique, not null, not null, not null, not null,
PROMPT - creating CAMP-THIS-YEAR create table CAMPTHISYEAR ( CAMPTYPE varchar2(18) not null, TAKESPLACE varchar2(20) primary key, STARTS date not null, ENDS date not null, COSTS number(5) not null, NUMBERLIMIT number(3), -- there will be a trigger for count NumberLimit TOPIC varchar2(100), HOMEWORK varchar2(200) ); PROMPT - creating CHILD-ADOL-JUNIOR (IS_A CampThisYear) create table CHILDADOLJUNIOR ( TAKESPLACE varchar2(20) primary key, -- constraint: CampType == 'gyerektábor' OR 'kamasztábor' OR 'ifitábor' foreign key ( takesplace ) references campthisyear( takesplace ) ); PROMPT - creating SENIOR (IS_A CampThisYear) create table SENIOR ( TAKESPLACE varchar2(20) primary key, -- constraint CampType == 'szeniortábor' foreign key ( takesplace ) references campthisyear( takesplace ) ); PROMPT - creating ROOM create table ROOM ( ROOMNO number(3) MAX number(2) ); PROMPT - creating GROP - like "Group" create table GROP ( TAKESPLACE varchar2(20) GROUPNAME varchar2(30), primary key ( takesplace, groupname foreign key ( takesplace ) campthisyear( takesplace ) );
primary key,
(weak entity) not null, --unique? ), references
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006 PROMPT PROMPT Creating Relational Tables: PROMPT ^^^^^^^^^^^^^^^^^^^^^^^^^^^
p8/18
create table GROUPMEMBER ( BID number(5), TAKESPLACE varchar2(20), GROUPNAME varchar2(30), primary key ( bid, takesplace, groupname ), foreign key (bid) references szentjanosbogar(bid), foreign key (groupname, takesplace) references grop(groupname, takesplace) );
PROMPT - creating APPEARED (weak relation) create table APPEARED ( BID number(5) not null, EXPLACE varchar2(30) not null, EVENTSTARTED date not null, EXSTATUS varchar2(15), EXGROUP varchar2(30), PROMPT - creating ROOM-IN foreign key (bid) references szentjanosbogar(bid), create table ROOMIN foreign key (explace, eventstarted) references ( event(explace, eventstarted) TAKESPLACE varchar2(20) not null ); references senior(takesplace), ROOMNO number(3) primary key references room(roomno) PROMPT - creating APPLICATION-JUNiors' + children's + ); adolescents' create table APPLICATION_JUN ( PROMPT - creating SLEEP-IN BID number(5) not null, create table SLEEPIN TAKESPLACE varchar2(20) not null, ( STATUS varchar2(15), BID number(5) primary key PRIORITY number(1), references szentjanosbogar(bid), APPLDATE date, ROOMNO number(3) not null ISGOINGTHERE number(1) default 1, references room(roomno) CANPAY number(5) default 6600, ); GETTINGTO varchar2(20), ISINHABITANT number(1) default 0, -boolean PROMPT - creating TRIP-TOGETHER primary key ( bid, takesplace ), create table TRIPTOGETHER -- not perfect :( foreign key ( bid ) references ( szentjanosbogar( bid ), TAKESPLACE varchar2(20) not null,-foreign key ( takesplace ) references references grop(takesplace), childadoljunior( takesplace ) WHICHGROUP varchar2(30) ,--references ); grop(groupname), WITHGROUP varchar2(30) ,--references grop(groupname), BUSID number(1) not null, PROMPT - creating APPLICATION-SENior primary key (takesplace, whichgroup, withgroup) create table APPLICATION_SEN ); ( BID number(5) not null, TAKESPLACE varchar2(20) not null PROMPT - creating CLAIM-TO-BE-IN-1-GROUP references senior(takesplace), create table CLAIMTOBEIN1GROUP CANPAY number(5) default 5300, ( GETTINGTO varchar2(20), WHOBID number(5) not null references primary key ( bid ), szentjanosbogar(bid), foreign key ( bid ) references WITHBID number(5) not null references szentjanosbogar(bid) szentjanosbogar(bid), ); G_TOBEORNOT number(1) default 1, -- boolean primary key ( whobid, withbid ) ); PROMPT - creating ACCOMODATED create table ACCOMODATED ( PROMPT - creating CLAIM-TO-BE-IN-1-HOME BID number(5) not null, create table CLAIMTOBEIN1HOME IID number(5) not null ( references inhabitant (iid), WHOBID number(5) not null references primary key ( bid ), szentjanosbogar(bid), foreign key (bid) references WITHBID number(5) not null references szentjanosbogar(bid) szentjanosbogar(bid), ); H_TOBEORNOT number(1) default 1, -- boolean primary key ( whobid, withbid ) ); PROMPT - creating GIVES-HOME create table GIVESHOME ( /* IID number(5) primary key PROMPT - creating CLAIM-TO-HAVE-1-LEADER references inhabitant(iid), create table CLAIMTOHAVE1LEADER TAKESPLACE varchar2(20) not null ( references childadoljunior(takesplace), BID number(5) not null references CANACCCHILD number(2) not null, szentjanosbogar(bid), -- a lap kitöltője CANACCMAX number(2) not null, BID2 number(5) not null, -- akit (nem) GIRLBOYRATE varchar2(20) not null, akar OTHER varchar2(300) L_TOBEORNOT number(1) default 1, -- bool ); primary key ( bid2 ), foreign key (bid2) references szentjanosbogar(bid) ); */ select table_name from user_tables; PROMPT - creating GROUP-MEMBER
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006
p9/18
INSERTING INTO TABLES – IN SQL Here are my inserting commands used. The inserting order is important. (I didn’t fill out these not so important tables yet: TripTogether, ClaimToBeIn1Group, ClaimToBeIn1Home. Sorry for saving spaces on paper;-). --1. 1. block --
szentjanosbogar
insert into values ( 1, 'Oltványi Gábor', 'Szeged', 6722, 'Kálvária sgt. 21.', '30-5745830', '62-450304', '
[email protected]', 'Szeged', to_date('22-08-1985','DD-MM-YYYY'), 2, 'Tamás Barna SJ', 'Szeged, Bolyai u. 22.', '62-4??-???', '-', 'dr. Oltványi György', '30-6545495', 'asztma', 'Ventolin', 1 ); insert into szentjanosbogar values ( 2, 'Börcsök Anikó', 'Jánossomorja', 1890, 'Nagybányai út 84.', '20-5287810', '21-646-997', '
[email protected]', 'Csömör', to_date('01-02-1987','DD-MM-YYYY'), 12, 'Kutasi Áron', null, null, null, null, null, null, null, null ); insert into szentjanosbogar values ( 3, 'Börcsök Csaba', 'Hidegség', 9677, 'Brassó utca 37.', '70-8096441', '97-632-468', '
[email protected]', 'Sajóbábony', to_date('06-06-1996','DD-MM-YYYY'), 3, 'Kutasi Géza', null, null, null, null, null, 'csípésallergia', 'Ventolin spray', 1 ); insert into szentjanosbogar values ( 4, 'Csillik Zsófia', 'Tápiószentmárton', 4124, 'Piac tér 88.', '70-9670082', '32-488-701', '
[email protected]', 'Nick', to_date('17-08-1995','DD-MM-YYYY'), 4, 'Tóth Mária', null, null, null, null, null, null, null, null ); insert into szentjanosbogar values ( 5, 'Csonka Katalin', 'Szelídi-tó (Soltvadkert)', 2784, 'Bakáts utca 72.', '70-8487194', '44-114-042', '
[email protected]', 'Gádoros', to_date('06-09-1989','DD-MM-YYYY'), 10, 'Görög József', null, null, null, null, null, 'vesebetegség', 'Calcium tabletta', 0 ); insert into szentjanosbogar values ( 6, 'Fodor Ernő', 'Füzesgyarmat', 2565, 'Kalmár Ilona sétány 24.', '70-8003177', '1-6008-573', '
[email protected]', 'Kaposmérő', to_date('19-10-1989','DD-MM-YYYY'), 10, 'Hantosi Péter', null, null, null, null, null, null, null, null ); insert into szentjanosbogar values ( 7, 'Gyorgyovich János', 'Sopronhorpács', 9408, 'Enying utca 55.', '20-8617654', '53-601-557', '
[email protected]', 'Bordány', to_date('28-11-1986','DD-MM-YYYY'), 13, 'Bognár István', null, null, null, null, null, 'bokaficam', null, null); insert into szentjanosbogar values ( 8, 'Kara Mária', 'Nick', 4047, 'Erdőalja lépcső 4.', '30-2829690', '1-2773-192', '
[email protected]', 'Nyíregyháza', to_date('18-11-1994','DD-MM-YYYY'), 5, 'Király Bálint', null, null, null, null, null, null, 'orcsepp', 1 ); insert into szentjanosbogar values ( 9, 'Keresztény Izabella', 'Csorna', 8521, 'Bartók Béla út 122.', '70-1098559', '54-516-444', '
[email protected]', 'Kömlő', to_date('20-02-1989','DD-MM-YYYY'), 10, 'Judák Endre', null, null, null, null, null, 'vérszegénység', null, null ); insert into szentjanosbogar values ( 10, 'Keresztény Mária', 'Felsőzsolca', 4494, 'Technikus utca 11.', '20-8258551', '1-3703-304', '
[email protected]', 'Mezőtúr', to_date('06-02-1990','DD-MM-YYYY'), 9, 'Sajgó Barnabás', null, null, null, null, null, null, null, null ); insert into szentjanosbogar values ( 11, 'Kiss András', 'Hatvan', 5829, 'Kolozsvár utca 85.', '30-5148845', '98-616-376', '
[email protected]', 'Halimba', to_date('26-10-1989','DD-MM-YYYY'), 10, 'Király Tamás', null, null, null, null, null, 'csípésallergia', 'Penicillin', 0 ); insert into szentjanosbogar values ( 12, 'Kiss Emőke', 'Iváncsa', 7739, 'Szerémi út 102.', '20-6711619', '98-478-046', '
[email protected]', 'Bükkszenterzsébet', to_date('28-08-1994','DD-MM-YYYY'), 5, 'Szelei Endre', null, null, null, null, null, null, 'Algopirin', 0 ); insert into szentjanosbogar values ( 13, 'Kovács Ágnes', 'Panyola', 7123, 'Ványoló utca 15.', '70-5474891', '72-960-166', '
[email protected]', 'Lepsény', to_date('24-10-1987','DD-MM-YYYY'), 12, 'Pálinkás Mária', null, null, null, null, null, null, 'C-vitamin', 1 ); insert into szentjanosbogar values ( 14, 'Laki Béla', 'Dusnok', 7071, 'Fábián utca 69.', '70-7494592', '78-886-586', '
[email protected]', 'Hegyhátszentjakab', to_date('27-06-1988','DD-MM-YYYY'), 11, 'Pálinkás Imre', null, null, null, null, null, null, null, null ); insert into szentjanosbogar values ( 15, 'Mezey Imre', 'Bátorliget', 3017, 'Zalaegerszegi utca 38.', '30-2066584', '1-9201-234', '
[email protected]', 'Szentkirályszabadja', to_date('20-06-1996','DD-MM-YYYY'), 3, 'Király Péter', null, null, null, null, null, null, null, null ); insert into szentjanosbogar values ( 16, 'Nagy Győző', 'Zomba', 6841, 'Rákász utca 63.', '70-1260889', '68-284-006', '
[email protected]', 'Győrszemere', to_date('22-07-1985','DD-MM-YYYY'), 14, 'Kerekes Hajnalka', null, null, null, null, null, null, null, null ); insert into szentjanosbogar values ( 17, 'Nagy Irma', 'Csák', 8025, 'Döbrentei tér 49.', '30-5922232', '32-601-708', '
[email protected]', 'Böhönye', to_date('02-05-1994','DD-MM-YYYY'), 5, 'Gábor Leó', null, null, null, null, null, null, null, null ); insert into szentjanosbogar values ( 18, 'Nagy Júlia', 'Ostffyasszonyfa', 2900, 'Nyerges köz 92.', '30-4165233', '59-351-613', '
[email protected]', 'Sopron', to_date('27-06-1992','DD-MM-YYYY'), 7, 'Tóth Géza', null, null, null, null, null, 'vesebetegség ', null, 0 ); insert into szentjanosbogar values ( 19, 'Nagy Kinga', 'Tiszafüred', 1574, 'Orlay utca 115.', '70-9120182', '74-923-895', '
[email protected]', 'Soltvadkert', to_date('26-04-1995','DD-MM-YYYY'), 4, 'Deák Bálint', null, null, null, null, null, null, 'C-vitamin', 1 ); insert into szentjanosbogar values ( 20, 'Oltványi Márton', 'Halászi', 2503, 'Bártfa utca 22.', '70-6636420', '67-462-094', '
[email protected]', 'Sormás', to_date('02-10-1994','DD-MM-YYYY'), 5, 'Börcsök András', null, null, null, null, null, null, null, null ); insert into szentjanosbogar values ( 21, 'Palágyi József', 'Vasszentmihály', 7956, 'Koráll köz 127.', '20-2272404', '55-859-542', '
[email protected]', 'Nagyszentjános', to_date('20-09-1987','DD-MM-YYYY'), 12, 'Király Cecília', null, null, null, null, null, 'bokaficam', null, 0 ); insert into szentjanosbogar values ( 22, 'Palágyi Rita', 'Bakonycsernye', 2562, 'Szerencs utca 61.', '20-8823117', '1-9220-200', '
[email protected]', 'Szentgyörgyvölgy', to_date('03-06-1992','DD-MM-YYYY'), 7, 'Csillik Luca', null, null, null, null, null, null, null, null ); insert into szentjanosbogar values ( 23, 'Prohászka János', 'Kup', 2212, 'Aradi utca 79.', '30-3922248', '84-066-252', '
[email protected]', 'Jászkisér', to_date('26-03-1992','DD-MM-YYYY'), 7, 'Réti Gyula', null, null, null, null, null, 'gyógyszerallergia', null, null ); insert into szentjanosbogar values ( 24, 'Sajgó Anikó', 'Szekszárd', 6473, 'Baracska utca 93.', '30-2894527', '81-283-355', '
[email protected]', 'Alsóhámor', to_date('10-01-1996','DD-MM-YYYY'), 3, 'Tornai Tivadar', null, null, null, null, null, null, 'C-vitamin', 1 ); insert into szentjanosbogar values ( 25, 'Simó Luca', 'Záhony', 5780, 'Máramarosi út 15.', '20-8819744', '96-080-457', '
[email protected]', 'Tura', to_date('11-09-1988','DD-MM-YYYY'), 11, 'Simó Zsófi', null, null, null, null, null, null, 'C-vitamin', 1 ); insert into szentjanosbogar values ( 26, 'Szabó János', 'Kápolnásnyék', 2894, 'Szőlőműves utca 39.', '20-7617899', '75-208-121', '
[email protected]', 'Győrzámoly', to_date('12-06-1993','DD-MM-YYYY'), 6, 'Kaposi Barnabás', null, null, null, null, null, null, null, null ); insert into szentjanosbogar values ( 27, 'Szabó Katalin', 'Gödöllő', 9042, 'Csillagvirág utca 6.', '30-7407353', '48-932-102', '
[email protected]', 'Kölcse', to_date('02-09-1989','DD-MM-YYYY'), 10, 'Szlovák Anita', null, null, null, null, null, null, null, null ); insert into szentjanosbogar values ( 28, 'Szalay Szilvia', 'Tolmács', 4027, 'Albertfalva utca 114.', '30-4331138', '73-913-932', '
[email protected]', 'Nagyrécse', to_date('13-10-1985','DD-MM-YYYY'), 14, 'Görög Péter', null, null, null, null, null, null, 'C-vitamin', 0); insert into szentjanosbogar values ( 29, 'Szőke Gábor', 'Nagyrécse', 4299, 'Erdőtelek utca 129.', '20-3408708', '23-572-299', '
[email protected]', 'Kóspallag', to_date('16-05-1995','DD-MM-YYYY'), 4, 'Gyorgyovich Mária', null, null, null, null, null, 'vérszegénység', 'szemcsepp', null ); insert into szentjanosbogar values ( 30, 'Szőke Leó', 'Cegléd', 3952, 'Posztógyári köz 121.', '20-3720208', '50-931-276', '
[email protected]', 'Csősz', to_date('15-01-1988','DD-MM-YYYY'), 11, 'Kutasi Ágnes', null, null, null, null, null, null, 'Penicillin', 1 ); insert into szentjanosbogar values ( 31, 'Szőke Mónika', 'Zsórifürdő', 8992, 'Vásár utca 62.', '30-1747210', '27-744-743', '
[email protected]', 'Kozármisleny', to_date('01-11-1986','DD-MM-YYYY'), 13, 'Istenhegyi Csaba', null, null, null, null, null, 'csípésallergia', null, null ); insert into szentjanosbogar values ( 32, 'Tábori Fanni', 'Ballószög', 6889, 'Szövőszék utca 10.', '30-1001729', '1-6445-231', '
[email protected]', 'Kondoros', to_date('02-05-1991','DD-MM-YYYY'), 8, 'Nagy József', null, null, null, null, null, null, null, 0 ); insert into szentjanosbogar values ( 33, 'Tornai Kinga', 'Mosonmagyaróvár', 8929, 'Török Flóris utca 56.', '30-5124803', '36-734-301', '
[email protected]', 'Szentkirályszabadja', to_date('14-09-1988','DD-MM-YYYY'), 11, 'Tóth Miklós', null, null, null, null, null, null, null, null ); insert into szentjanosbogar values ( 34, 'Tóth Adorján', 'Abda', 7320, 'Tahi köz 125.', '70-7194089', '66-962-293', '
[email protected]', 'Mernye', to_date('16-10-1987','DD-MM-YYYY'), 12, 'Szalay Rita', null, null, null, null, null, null, null, 1 ); insert into szentjanosbogar values ( 35, 'Tóth Bálint', 'Bátorliget', 7479, 'Janicsár utca 58.', '30-1058279', '70-180-898', '
[email protected]', 'Tardona', to_date('06-08-1996','DD-MM-YYYY'), 3, 'Tóth Fanni', null, null, null, null, null, 'törött kéz', null, null ); insert into szentjanosbogar values ( 36, 'Tóth Bálint', 'Budakeszi', 2424, 'Nádor utca 34.', '30-6752678', '76-729-970', '
[email protected]', 'Tarnaszentmiklós', to_date('03-03-1991','DD-MM-YYYY'), 8, 'Takács Gábor', null, null, null, null, null, null, null, null ); insert into szentjanosbogar values ( 37, 'Tóth Júlia', 'Csertő', 6835, 'Gyeplős utca 6.', '20-6541878', '66-182-129', '
[email protected]', 'Komoró', to_date('07-10-1986','DD-MM-YYYY'), 13, 'Réti Mónika', null, null, null, null, null, null, null, 0 ); insert into szentjanosbogar values ( 38, 'Tóth Natália', 'Mátraverebély', 6406, 'Bod Péter utca 52.', '20-7722466', '1-5224-127', '
[email protected]', 'Bükkszentkereszt', to_date('01-10-1993','DD-MM-YYYY'), 6, 'Istenhegyi Péter', null, null, null, null, null, null, null, null ); insert into szentjanosbogar values ( 39, 'Tóth Tamás', 'Sormás', 4006, 'Thököly út 34.', '70-7103091', '66-981-953', '
[email protected]', 'Hodász', to_date('25-11-1989','DD-MM-YYYY'), 10, 'Kis Csaba', null, null, null, null, null, 'csípésallergia', null, null ); insert into szentjanosbogar values ( 40, 'Vandlik Mária', 'Balatonmária', 1023, 'Védgát utca 137. ', '20-6151001 ', '62-819-055 ', '
[email protected]', 'Etyek ', to_date('01-07-1990','DD-MM-YYYY'), 9, 'Molnár Zsuzsanna ', null, null, null, null, null, 'bokaficam', null, 1 );
select bid, name, addrcity from szentjanosbogar;
inhabitant
insert into 'gyalog' ); into inhabitant into inhabitant into inhabitant into inhabitant into inhabitant into inhabitant
insert insert insert insert insert insert
values(
values( values( values( values( values( values(
2, 3, 4, 5, 6, 7,
1, 'Jójárt Szindi', 'Taksony', 1931, 'Mildenberger utca 81.', null, null, null, 'Periklé
[email protected]', 14,
'Király Johanna', 'Taksony', 4926, 'Takaros utca 122.', null, null, null, 'Tömö
[email protected]', 7, 'gyalog' ); 'Gróf Fiadelfia', 'Taksony', 9752, 'Szinva utca 2.', null, null, null, null, 13, 'gyalog' ); 'Nagy Malvina', 'Hosszúhetény', 9133, 'Hegytető utca 56.', null, null, null, 'Valé
[email protected]', 14, 'gyalog' ); 'Sebők Emiliána', 'Hosszúhetény', 3602, 'Móra Ferenc utca 63.', null, null, null, null, 9, 'gyalog' ); 'Barki Sába', 'Hosszúhetény', 7610, 'Páfrány forduló forduló 96.', null, null, null, null, 8, 'gyalog' ); 'Pusztai Herold', 'Hosszúhetény', 1128, 'Szalóki utca 106.', null, null, null, 'Sá
[email protected]', 11, 'kerékpár');
p10/18
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006 insert insert insert insert insert insert insert insert insert insert insert insert insert
into into into into into into into into into into into into into
inhabitant inhabitant inhabitant inhabitant inhabitant inhabitant inhabitant inhabitant inhabitant inhabitant inhabitant inhabitant inhabitant
values( values( values( values( values( values( values( values( values( values( values( values( values(
8, 'Hódsági Gajána', 'Csanádapáca', 1967, 'Száraznád utca 35.', null, null, null, 'Umbertó@t-online.hu', 19, 'gyalog'); 9, 'Gábor Ruszalka', 'Csanádapáca', 5940, 'Gomba utca 141.', null, null, null, null, 5, 'autó' ); 10, 'Simó Magor', 'Csanádapáca', 4359, 'Eötvös József park 46.', null, null, null, 'Fidé
[email protected]', 12, 'autó' ); 11, 'Takács Tardos', 'Csanádapáca', 6806, 'Vaspálya utca 17.', null, null, null, null, 7, 'gyalog' ); 12, 'Kutasi Nóna', 'Újdombóvár', 5849, 'Kántorné utca 6.', null, null, null, '
[email protected]', 4, 'gyalog' ); 13, 'Oltványi Sámson', 'Újdombóvár', 7255, 'Zombori utca 142.', null, null, null, null, 5, 'gyalog' ); 14, 'Kovács Loréna', 'Újdombóvár', 5551, 'Corvin út 138.', null, null, null, null, 11, 'gyalog' ); 15, 'Szűcs Tegza', 'Esztergom', 8690, 'Gerezd utca 27.', null, null, null, null, 6, 'gyalog' ); 16, 'Kara Dezső', 'Esztergom', 4291, 'Hegycsúcs utca 144.', null, null, null, null, 18, 'autó' ); 17, 'Tóth Libóriusz', 'Esztergom', 3631, 'Palicsi utca 139.', null, null, null, null, 10, 'kerékpár' ); 18, 'Kiss Boleszláv', 'Esztergom', 6204, 'Határ utca 80.', null, null, null, '
[email protected]', 8, 'gyalog' ); 19, 'Simó Miriam', 'Mocsa', 7143, 'Rákóczi utca 49.', null, null, null, 'Kató@gmail.com', 19, 'gyalog' ); 20, 'Berecz Paulina ', 'Mocsa', 5611, 'Kerámia utca 76. ', null, null, null, null, 4, 'gyalog' );
select iid, name, addrcity from Inhabitant;
CampThisYear
values( 'gyerektábor', insert into 'Csanádapáca', to_date('02-07-2006','DD-MM-YYYY'), to_date('0707-2006','DD-MM-YYYY'), 6300, 120, 'tálentumok', null ); insert into CampThisYear values( 'gyerektábor', 'Taksony', to_date('02-07-2006','DD-MM-YYYY'), to_date('07-07-2006','DDMM-YYYY'), 6300, 100, 'tálentumok', null ); insert into CampThisYear values( 'gyerektábor', 'Mocsa', to_date('02-07-2006','DD-MM-YYYY'), to_date('07-07-2006','DDMM-YYYY'), 6300, 130, 'tálentumok', null ); insert into CampThisYear values( 'gyerektábor', 'Hosszúhetény', to_date('02-07-2006','DD-MM-YYYY'), to_date('07-07-2006','DDMM-YYYY'), 6300, 110, 'tálentumok', null );
insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert
into into into into into into into into into into into into into into into into into into into into into into into
insert into CampThisYear values( 'gyerektábor', 'Újdombóvár', to_date('02-07-2006','DD-MM-YYYY'), to_date('07-07-2006','DDMM-YYYY'), 6300, 150, 'tálentumok', null ); insert into CampThisYear values( 'kamasztábor', 'Esztergom', to_date('02-07-2006','DD-MM-YYYY'), to_date('07-07-2006','DDMM-YYYY'), 6300, 150, 'más1', null ); insert into CampThisYear values( 'ifitábor', 'Hajdúdorog', to_date('10-07-2006','DD-MM-YYYY'), to_date('16-07-2006','DDMM-YYYY'), 7000, 140, 'más2', null ); insert into CampThisYear values( 'szeniortábor', 'Miskolc', to_date('14-08-2006','DD-MM-YYYY'), to_date('20-08-2006','DDMM-YYYY'), 7000, 200, 'más3', null );
select CampType, TakesPlace, Starts, Ends, Costs, NumberLimit from CampThisYear;
event event event event event event event event event event event event event event event event event event event event event event event
values( 'bál', 'Budapest', to_date('12-11-2005','DD-MM-YYYY'), to_date('13-11-2005','DD-MM-YYYY') ); values( 'bál', 'Budapest', to_date('11-02-2006','DD-MM-YYYY'), to_date('12-02-2006','DD-MM-YYYY') ); values( 'bál', 'Budapest', to_date('11-11-2006','DD-MM-YYYY'), to_date('12-11-2006','DD-MM-YYYY') ); values( 'gyerektábor', 'Domaszék', to_date('29-06-2004','DD-MM-YYYY'), to_date('04-07-2004','DD-MM-YYYY') ); values( 'gyerektábor', 'Mocsa', to_date('29-06-2004','DD-MM-YYYY'), to_date('04-07-2004','DD-MM-YYYY') ); values( 'gyerektábor', 'Újkígyós', to_date('29-06-2004','DD-MM-YYYY'), to_date('04-07-2004','DD-MM-YYYY') ); values( 'gyerektábor', 'Kálló', to_date('29-06-2004','DD-MM-YYYY'), to_date('04-07-2004','DD-MM-YYYY') ); values( 'gyerektábor', 'Egyházaskozár', to_date('29-06-2004','DD-MM-YYYY'), to_date('04-07-2004','DD-MM-YYYY') ); values( 'ifitábor', 'Herény', to_date('07-07-2004','DD-MM-YYYY'), to_date('13-07-2004','DD-MM-YYYY') ); values( 'ifitábor', 'Gencsapáti', to_date('07-07-2004','DD-MM-YYYY'), to_date('13-07-2004','DD-MM-YYYY') ); values( 'közgyűlés', 'Budapest', to_date('22-10-2005','DD-MM-YYYY'), to_date('23-10-2005','DD-MM-YYYY') ); values( 'közgyűlés', 'Budapest', to_date('16-09-2006','DD-MM-YYYY'), to_date('17-09-2006','DD-MM-YYYY') ); values( 'lelkigyakorlat', 'Dobogókő', to_date('09-12-2005','DD-MM-YYYY'), to_date('11-12-2005','DD-MM-YYYY') ); values( 'lelkigyakorlat', 'Dobogókő', to_date('10-03-2006','DD-MM-YYYY'), to_date('12-03-2006','DD-MM-YYYY') ); values( 'métabajnokság', 'Budapest', to_date('29-04-2006','DD-MM-YYYY'), to_date('29-04-2006','DD-MM-YYYY') ); values( 'rajzás', 'Szeged', to_date('24-09-2005','DD-MM-YYYY'), to_date('24-09-2005','DD-MM-YYYY') ); values( 'rajzás', 'Budapest', to_date('01-10-2005','DD-MM-YYYY'), to_date('01-10-2005','DD-MM-YYYY') ); values( 'rajzás', 'Szeged', to_date('23-09-2006','DD-MM-YYYY'), to_date('23-09-2006','DD-MM-YYYY') ); values( 'rajzás', 'Budapest', to_date('30-09-2006','DD-MM-YYYY'), to_date('30-09-2006','DD-MM-YYYY') ); values( 'vezetőképző', 'Dobogókő', to_date('27-01-2006','DD-MM-YYYY'), to_date('29-01-2006','DD-MM-YYYY') ); values( 'vezetőképző', 'Dobogókő', to_date('17-02-2006','DD-MM-YYYY'), to_date('19-02-2006','DD-MM-YYYY') ); values( 'vezetőképző', 'Dobogókő', to_date('31-03-2006','DD-MM-YYYY'), to_date('02-04-2006','DD-MM-YYYY') ); values( 'vezetőképző', 'Szeged-Szentmihály', to_date('21-04-2006','DD-MM-YYYY'), to_date('23-04-2006','DD-MM-YYYY')
select * from event; insert into
Room Room
values(
205, 3
);
insert into room values(
210, 4
);
insert into room values(
313, 5
);
);
select * from room;
--2 -2. block insert insert insert insert
Child ChildA ldAdolJ dolJunior
into values ( 'Csanádapáca' ); into childadoljunior values ( 'Mocsa' ); into childadoljunior values ( 'Újdombóvár' ); into childadoljunior values ( 'Hajdúdorog' );
insert into insert insert insert insert insert insert insert insert insert insert insert insert
into into into into into into into into into into into into
Senior
values ( 'Miskolc' );
Grop GROP GROP GROP GROP GROP GROP GROP GROP GROP GROP GROP
select * from childadoljunior;
select * from senior;
values( 'Csanádapáca', 'messzirelátó' ); values( 'Mocsa', 'messzirelátó' ); values( 'Újdombóvár', 'messzirelátó' ); values( 'Taksony', 'figyelmes' ); values( 'Hosszúhetény', 'figyelmes' ); values( 'Csanádapáca', 'türelmes' ); values( 'Mocsa', 'türelmes' ); values( 'Újdombóvár', 'türelmes' ); values( 'Esztergom', 'pók' ); values( 'Hajdúdorog', 'arany' ); values( 'Hajdúdorog', 'acél' ); values( 'Miskolc', 'helybentaláljákki2' );
select * from GROP;
insert into childadoljunior values ( 'Taksony' ); insert into childadoljunior values ( 'Hosszúhetény' ); insert into childadoljunior values ( 'Esztergom' );
insert insert insert insert insert insert insert insert insert insert insert insert
into into into into into into into into into into into into
GROP GROP GROP GROP GROP GROP GROP GROP GROP GROP GROP GROP
values( values( values( values( values( values( values( values( values( values( values( values(
'Taksony', 'messzirelátó' ); 'Hosszúhetény', 'messzirelátó' ); 'Csanádapáca', 'figyelmes' ); 'Mocsa', 'figyelmes' ); 'Újdombóvár', 'figyelmes' ); 'Taksony', 'türelmes' ); 'Hosszúhetény', 'türelmes' ); 'Esztergom', 'farkas' ); 'Esztergom', 'nyúl' ); 'Hajdúdorog', 'gyémánt' ); 'Miskolc', 'helybentaláljákki1' ); 'Miskolc', 'helybentaláljákki3' );
--3 -3. block insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert
into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into
Application_JUN application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun
values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values(
values( 1, 'Csanádapáca', 'főbogár', 1, to_date('03-05-2006','DD-MM-YYYY'), 1, 0, 'Bp - többiekkel', 0); 1, 'Taksony', 'főbogár', 2, to_date('03-05-2006','DD-MM-YYYY'), 0, 0, 'Bp - többiekkel', 0 ); 4, 'Esztergom', 'főbogár', 1, to_date('12-05-2006','DD-MM-YYYY'), 1, 0, 'Bp - többiekkel', 0 ); 4, 'Hajdúdorog', 'főbogár', 1, to_date('20-05-2006','DD-MM-YYYY'), 1, 0, 'kocsival', 0 ); 4, 'Taksony', 'főbogár', 2, to_date('12-05-2006','DD-MM-YYYY'), 0, 0, 'Bp - többiekkel', 0 ); 15, 'Csanádapáca', 'főbogár', 1, to_date('05-05-2006','DD-MM-YYYY'), 1, 0, 'kocsival', 0 ); 15, 'Esztergom', 'főbogár', 2, to_date('05-05-2006','DD-MM-YYYY'), 0, 0, 'Bp - többiekkel', 0 ); 1, 'Hajdúdorog', 'résztvevő', 1, to_date('19-05-2006','DD-MM-YYYY'), 1, null, 'kocsival', 0 ); 5, 'Hajdúdorog', 'résztvevő', 1, to_date('13-05-2006','DD-MM-YYYY'), 1, null, 'kocsival', 0 ); 6, 'Hajdúdorog', 'résztvevő', 1, to_date('14-05-2006','DD-MM-YYYY'), 1, null, 'kocsival', 0 ); 7, 'Hajdúdorog', 'résztvevő', 1, to_date('21-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 ); 19, 'Hajdúdorog', 'résztvevő', 1, to_date('15-05-2006','DD-MM-YYYY'), 1, null, 'kocsival', 0 ); 20, 'Hajdúdorog', 'résztvevő', 1, to_date('16-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 ); 21, 'Hajdúdorog', 'résztvevő', 1, to_date('22-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 ); 33, 'Hajdúdorog', 'résztvevő', 1, to_date('17-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 ); 34, 'Hajdúdorog', 'résztvevő', 1, to_date('18-05-2006','DD-MM-YYYY'), 1, null, 'kocsival', 0 ); 3, 'Esztergom', 'résztvevő', 1, to_date('11-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 ); 17, 'Esztergom', 'résztvevő', 1, to_date('13-05-2006','DD-MM-YYYY'), 1, null, 'város - többiekkel', 0 ); 18, 'Esztergom', 'résztvevő', 1, to_date('14-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 ); 31, 'Esztergom', 'résztvevő', 1, to_date('15-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 ); 32, 'Esztergom', 'résztvevő', 1, to_date('16-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 ); 2, 'Csanádapáca', 'résztvevő', 1, to_date('04-05-2006','DD-MM-YYYY'), 1, null, 'város - többiekkel', 0 ); 2, 'Taksony', 'résztvevő', 2, to_date('04-05-2006','DD-MM-YYYY'), 0, null, 'kocsival', 0 ); 3, 'Hosszúhetény', 'résztvevő', 2, to_date('11-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 6, 'Csanádapáca', 'résztvevő', 2, to_date('29-05-2006','DD-MM-YYYY'), 0, null, 'kocsival', 0 ); 6, 'Taksony', 'résztvevő', 1, to_date('29-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 ); 7, 'Csanádapáca', 'résztvevő', 3, to_date('17-05-2006','DD-MM-YYYY'), 0, null, 'kocsival', 0 ); 7, 'Hosszúhetény', 'résztvevő', 1, to_date('17-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 ); 7, 'Újdombóvár', 'résztvevő', 2, to_date('17-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 10, 'Csanádapáca', 'résztvevő', 3, to_date('20-05-2006','DD-MM-YYYY'), 1, null, 'város - többiekkel', 0 );
p11/18
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006 insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert
into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into into
insert insert insert insert insert insert insert insert insert
into into into into into into into into into
insert insert insert insert insert insert
into into into into into into
application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun application_jun
values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values( values(
10, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 16, 16, 17, 17, 17, 17, 18, 21, 21, 21, 24, 24, 25, 25, 26, 26, 26, 27, 27, 27, 28, 28, 29, 29, 29, 30, 30, 30, 31, 32, 34, 34, 35, 35, 35, 38, 38, 38, 39, 39, 39, 40, 40,
'Mocsa', 'résztvevő', 1, to_date('20-05-2006','DD-MM-YYYY'), 0, null, 'kocsival', 0 ); 'Taksony', 'résztvevő', 2, to_date('20-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Mocsa', 'résztvevő', 1, to_date('21-05-2006','DD-MM-YYYY'), 1, null, 'város - többiekkel', 0 ); 'Újdombóvár', 'résztvevő', 2, to_date('21-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Csanádapáca', 'résztvevő', 2, to_date('26-05-2006','DD-MM-YYYY'), 0, null, 'város - többiekkel', 0 ); 'Hosszúhetény', 'résztvevő', 3, to_date('26-05-2006','DD-MM-YYYY'), 0, null, 'város - többiekkel', 0 ); 'Taksony', 'résztvevő', 1, to_date('26-05-2006','DD-MM-YYYY'), 0, null, 'kocsival', 0 ); 'Taksony', 'résztvevő', 2, to_date('30-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Újdombóvár', 'résztvevő', 1, to_date('30-05-2006','DD-MM-YYYY'), 1, null, 'város - többiekkel', 0 ); 'Csanádapáca', 'résztvevő', 2, to_date('31-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Taksony', 'résztvevő', 3, to_date('31-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Újdombóvár', 'résztvevő', 1, to_date('31-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 ); 'Csanádapáca', 'résztvevő', 1, to_date('06-05-2006','DD-MM-YYYY'), 1, null, 'város - többiekkel', 0 ); 'Hosszúhetény', 'résztvevő', 2, to_date('06-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Csanádapáca', 'résztvevő', 2, to_date('09-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Taksony', 'résztvevő', 3, to_date('13-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Mocsa', 'résztvevő', 4, to_date('13-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Újdombóvár', 'résztvevő', 5, to_date('09-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Hosszúhetény', 'résztvevő', 2, to_date('14-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Csanádapáca', 'résztvevő', 3, to_date('18-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Hosszúhetény', 'résztvevő', 1, to_date('18-05-2006','DD-MM-YYYY'), 1, null, 'kocsival', 0 ); 'Mocsa', 'résztvevő', 2, to_date('18-05-2006','DD-MM-YYYY'), 0, null, 'kocsival', 0 ); 'Hosszúhetény', 'résztvevő', 2, to_date('22-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Mocsa', 'résztvevő', 1, to_date('22-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 ); 'Mocsa', 'résztvevő', 1, to_date('23-05-2006','DD-MM-YYYY'), 1, null, 'város - többiekkel', 0 ); 'Újdombóvár', 'résztvevő', 2, to_date('23-05-2006','DD-MM-YYYY'), 0, null, 'kocsival', 0 ); 'Csanádapáca', 'résztvevő', 2, to_date('27-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Hosszúhetény', 'résztvevő', 3, to_date('27-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Taksony', 'résztvevő', 1, to_date('27-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 ); 'Hosszúhetény', 'résztvevő', 3, to_date('01-06-2006','DD-MM-YYYY'), 0, null, 'város - többiekkel', 0 ); 'Mocsa', 'résztvevő', 2, to_date('01-06-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Újdombóvár', 'résztvevő', 1, to_date('01-06-2006','DD-MM-YYYY'), 1, null, 'kocsival', 0 ); 'Hosszúhetény', 'résztvevő', 2, to_date('02-06-2006','DD-MM-YYYY'), 0, null, 'kocsival', 0 ); 'Újdombóvár', 'résztvevő', 1, to_date('02-06-2006','DD-MM-YYYY'), 1, null, 'város - többiekkel', 0 ); 'Csanádapáca', 'résztvevő', 1, to_date('07-05-2006','DD-MM-YYYY'), 1, 5000, 'Bp - többiekkel', 0 ); 'Hosszúhetény', 'résztvevő', 2, to_date('07-05-2006','DD-MM-YYYY'), 0, 5000, 'kocsival', 0 ); 'Újdombóvár', 'résztvevő', 3, to_date('07-05-2006','DD-MM-YYYY'), 0, 5000, 'kocsival', 0 ); 'Csanádapáca', 'résztvevő', 1, to_date('08-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 ); 'Mocsa', 'résztvevő', 2, to_date('08-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 ); 'Taksony', 'résztvevő', 3, to_date('08-05-2006','DD-MM-YYYY'), 0, null, 'kocsival', 0 ); 'Hosszúhetény', 'résztvevő', 2, to_date('15-05-2006','DD-MM-YYYY'), 0, null, 'kocsival', 0 ); 'Újdombóvár', 'résztvevő', 2, to_date('16-05-2006','DD-MM-YYYY'), 0, null, 'kocsival', 0 ); 'Csanádapáca', 'résztvevő', 1, to_date('10-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 ); 'Újdombóvár', 'résztvevő', 2, to_date('10-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Hosszúhetény', 'résztvevő', 1, to_date('19-05-2006','DD-MM-YYYY'), 1, 5000, 'Bp - többiekkel', 0 ); 'Taksony', 'résztvevő', 2, to_date('19-05-2006','DD-MM-YYYY'), 0, 5000, 'Bp - többiekkel', 0 ); 'Újdombóvár', 'résztvevő', 3, to_date('19-05-2006','DD-MM-YYYY'), 0, null, 'kocsival', 0 ); 'Mocsa', 'résztvevő', 1, to_date('24-05-2006','DD-MM-YYYY'), 1, null, 'város - többiekkel', 0 ); 'Taksony', 'résztvevő', 2, to_date('24-05-2006','DD-MM-YYYY'), 1, null, 'kocsival', 0 ); 'Újdombóvár', 'résztvevő', 3, to_date('24-05-2006','DD-MM-YYYY'), 0, null, 'kocsival', 0 ); 'Csanádapáca', 'résztvevő', 2, to_date('25-05-2006','DD-MM-YYYY'), 1, 7500, 'kocsival', 0 ); 'Hosszúhetény', 'résztvevő', 3, to_date('25-05-2006','DD-MM-YYYY'), 0, 7500, 'Bp - többiekkel', 0 ); 'Mocsa', 'résztvevő', 1, to_date('25-05-2006','DD-MM-YYYY'), 0, 7500, 'Bp - többiekkel', 0 ); 'Csanádapáca', 'résztvevő', 2, to_date('28-05-2006','DD-MM-YYYY'), 0, null, 'Bp - többiekkel', 0 ); 'Taksony', 'résztvevő', 1, to_date('28-05-2006','DD-MM-YYYY'), 1, null, 'Bp - többiekkel', 0 );
select bid, takesplace, priority, canpay from application_jun;
Application_SEN
values ( 8, 'Miskolc', 4000, 'kocsival' ); Application_SEN values ( 23, 'Miskolc', 6000, 'Bp. - többiekkel' ); Application_SEN values ( 37, 'Miskolc', 5500, 'Bp. - többiekkel' ); Application_SEN values ( 1, 'Miskolc', 5000, 'Bp. - többiekkel' ); Application_SEN(bid, takesplace, gettingto) values ( 9, 'Miskolc', 'Bp. - többiekkel' ); Application_SEN(bid, takesplace, gettingto) values ( 22, 'Miskolc', 'Bp. - többiekkel' ); Application_SEN(bid, takesplace, gettingto) values ( 36, 'Miskolc', 'Bp. - többiekkel' ); Application_SEN(bid, takesplace, gettingto) values ( 3, 'Miskolc', 'kocsival' ); Application_SEN(bid, takesplace, gettingto) values ( 28, 'Miskolc', 'Bp. - többiekkel' );
select * from Application_SEN;
Appeared appeared appeared appeared appeared appeared
values( 1, 'Mocsa', to_date('29-06-2004','DD-MM-YYYY'), 'főbogár', null ); values( 1, 'Budapest', to_date('11-02-2006','DD-MM-YYYY'), 'zenefelelős', null ); values( 3, 'Budapest', to_date('16-09-2006','DD-MM-YYYY'), 'szervező', null ); values( 5, 'Herény', to_date('07-07-2004','DD-MM-YYYY'), 'résztvevő', 'macska' ); values( 6, 'Szeged-Szentmihály', to_date('21-04-2006','DD-MM-YYYY'), 'résztvevő', 'elsőképzős' values( 6, 'Budapest', to_date('12-11-2005','DD-MM-YYYY'), 'résztvevő', null );
);
select * from APPEARED;
insert insert insert insert insert insert insert insert insert insert
into into into into into into into into into into
GivesHome GivesHome GivesHome GivesHome GivesHome GivesHome GivesHome GivesHome GivesHome GivesHome
values values values values values values values values values
values ( 1, 'Taksony', 2, 4, 'x f y l', null ); insert into GivesHome values ( 3, 'Taksony', 2, 3, 'x f y l', null ); insert into GivesHome values ( ( 5, 'Hosszúhetény', 2, 5, 'x f y l', null ); insert into GivesHome values ( ( 7, 'Hosszúhetény', 2, 6, 'x f y l', null ); insert into GivesHome values ( ( 9, 'Csanádapáca', 2, 4, 'x f y l', null ); insert into GivesHome values ( ( 11, 'Csanádapáca', 2, 4, 'x f y l', null ); insert into GivesHome values ( ( 13, 'Újdombóvár', 2, 4, 'x f y l', null ); insert into GivesHome values ( ( 15, 'Esztergom', 2, 6, 'x f y l', null ); insert into GivesHome values ( ( 17, 'Esztergom', 2, 3, 'x f y l', null ); insert into GivesHome values ( ( 19, 'Mocsa', 2, 4, 'x f y l', null ); insert into GivesHome values (
select * from GivesHome;
insert into
RoomIn
values (
'Miskolc', 205
);
insert into RoomIn values (
'Miskolc', 210
);
( 2, 'Taksony', 2, 4, 'x f y l', null ); 4, 'Hosszúhetény', 2, 5, 'x f y l', null); 6, 'Hosszúhetény', 2, 2, 'x f y l', null); 8, 'Csanádapáca', 2, 6, 'x f y l', null); 10, 'Csanádapáca', 2, 2, 'x f y l', null); 12, 'Újdombóvár', 2, 3, 'x f y l', null); 14, 'Újdombóvár', 2, 4, 'x f y l', null ); 16, 'Esztergom', 2, 6, 'x f y l', null ); 18, 'Esztergom', 2, 4, 'x f y l', null ); 20, 'Mocsa', 2, 4, 'x f y l', null );
insert into RoomIn values (
'Miskolc', 313
select * from RoomIn;
--4 -4. block insert into insert insert insert insert insert insert insert insert insert insert insert insert insert
accomodated
into into into into into into into into into into into into into
accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated
GroupMember
insert into insert insert insert insert
into into into into
values values ( values ( values ( values ( values ( values ( values ( values ( values ( values ( values ( values ( values (
values ( GroupMember values GroupMember values GroupMember values GroupMember values
( 12, 1 ); 34, 1 ); 25, 1 ); 3, 2 ); 14, 2 ); 15, 3 ); 31, 3 ); 7, 4 ); 37, 4 ); 21, 5 ); 13, 5 ); 10, 6 ); 11, 6 ); 17, 7 );
1, ( ( ( (
insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert
into into into into into into into into into into into into into into into
accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated
values values values values values values values values values values values values values values values
( ( ( ( ( ( ( ( ( ( ( ( ( ( (
22, 7 ); 9, 8 ); 33, 8 ); 8, 9 ); 23, 9 ); 36, 10 ); 28, 10 ); 32, 11 ); 40, 11 ); 4, 12 ); 18, 12 ); 16, 13 ); 26, 13 ); 30, 14 ); 35, 14 );
insert insert insert insert insert insert insert insert insert insert insert
into into into into into into into into into into into
accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated accomodated
values values values values values values values values values values values
( ( ( ( ( ( ( ( ( ( (
27, 15 ); 38, 15 ); 39, 16 ); 20, 16 ); 6, 17 ); 24, 17 ); 29, 18 ); 1, 18 ); 2, 19 ); 5, 19 ); 19, 20 );
select * from ACCOMODATED;
insert into GroupMember 'Csanádapáca', 'messzirelátó' ); insert into GroupMember 2, 'Csanádapáca', 'figyelmes' ); insert into GroupMember 3, 'Esztergom', 'farkas' ); insert into GroupMember 4, 'Esztergom', 'nyúl' ); insert into GroupMember 5, 'Hajdúdorog', 'arany' );
values values values values values
( ( ( ( (
6, 'Hajdúdorog', 'gyémánt' ); 7, 'Hosszúhetény', 'türelmes' ); 8, 'Miskolc', 'helybentaláljákki1' 9, 'Miskolc', 'helybentaláljákki2' 10, 'Mocsa', 'figyelmes' );
); );
);
p12/18
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006 insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert insert
into into into into into into into into into into into into into into into into into into into into
GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember
values values values values values values values values values values values values values values values values values values values values
select * from GroupMember;
SleepIn
( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (
11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
'Mocsa', 'türelmes' ); insert 'Taksony', 'messzirelátó' ); insert 'Újdombóvár', 'figyelmes' ); insert 'Újdombóvár', 'türelmes' ); insert 'Csanádapáca', 'messzirelátó' insert ); 'Csanádapáca', 'figyelmes' );insert 'Esztergom', 'farkas' ); insert 'Esztergom', 'nyúl' ); insert 'Hajdúdorog', 'arany' ); insert 'Hajdúdorog', 'gyémánt' ); insert 'Hosszúhetény', 'türelmes' );insert 'Miskolc', 'helybentaláljákki1' insert ); 'Miskolc', 'helybentaláljákki2' insert ); 'Mocsa', 'figyelmes' ); insert 'Mocsa', 'türelmes' ); insert 'Taksony', 'messzirelátó' ); insert 'Újdombóvár', 'figyelmes' ); insert 'Újdombóvár', 'türelmes' ); insert 'Csanádapáca', 'messzirelátó' insert ); 'Csanádapáca', 'figyelmes' );insert
values ( 8, 205 ); insert into insert into SleepIn values ( 23, 205 ); insert into SleepIn values ( 1, 205 );
select * from SleepIn;
insert into SleepIn values ( insert into SleepIn values ( insert into SleepIn values (
into into into into into into into into into into into into into into into into into into into into
GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember GroupMember
9, 210 ); 36, 210 ); 3, 210 );
values values values values values values values values values values values values values values values values values values values values
( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (
31, 'Esztergom', 'farkas' ); 32, 'Esztergom', 'nyúl' ); 33, 'Hajdúdorog', 'arany' ); 34, 'Hajdúdorog', 'gyémánt' ); 35, 'Hosszúhetény', 'türelmes' ); 36, 'Miskolc', 'helybentaláljákki1' ); 37, 'Miskolc', 'helybentaláljákki2' ); 38, 'Mocsa', 'figyelmes' ); 39, 'Mocsa', 'türelmes' ); 40, 'Taksony', 'messzirelátó' ); 1, 'Hajdúdorog', 'gyémánt' ); 1, 'Miskolc', 'helybentaláljákki1' ); 3, 'Miskolc', 'helybentaláljákki2' ); 4, 'Hajdúdorog', 'arany' ); 6, 'Taksony', 'messzirelátó' ); 7, 'Hajdúdorog', 'gyémánt' ); 17, 'Csanádapáca', 'messzirelátó' ); 21, 'Hajdúdorog', 'gyémánt' ); 28, 'Miskolc', 'helybentaláljákki1' ); 34, 'Csanádapáca', 'figyelmes' );
insert into SleepIn values ( insert into SleepIn values ( insert into SleepIn values (
22, 313 37, 313 28, 313
); ); );
p13/18
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006
SELECTING FROM TABLES – QUERIES IN SQL Where will be camps this summer? What kind are they?
CAMPTYPE -----------gyerekt?bor gyerekt?bor gyerekt?bor gyerekt?bor gyerekt?bor ifit?bor kamaszt?bor szeniort?bor
SELECT camptype, takesplace FROM campthisyear ORDER BY camptype ;
TAKESPLACE -----------Csan?dap?ca Taksony Mocsa Hossz?het?ny ?jdomb?v?r Hajd?dorog Esztergom Miskolc
8 sor kijelolve.
List the people applicate to camps! (ID, name, where, priority) PROMPT People applicated to Children's, Adolescents' or Juniors' Camp: SELECT b.bid, name, takesplace, priority People applicated to Children's, Adolescents' or Juniors' Camp: FROM szentjanosbogar b, application_jun a BID NAME TAKESPLACE/PRIORITY --- ------------------- ---------------WHERE a.bid = b.bid 2 B?rcs?k Anik? Csan?dap?ca 1 2 B?rcs?k Anik? Taksony 2 ORDER BY name 3 B?rcs?k Csaba Esztergom 1 3 B?rcs?k Csaba Hossz?het?ny 2 ; 4 Csillik Zs?fia Hajd?dorog 1 4 Csillik Zs?fia Taksony 2 4 Csillik Zs?fia Esztergom 1 PROMPT People applicated to Seniors' Camp: 5 Csonka Katalin Hajd?dorog 1 6 Fodor Ern? Csan?dap?ca 2 SELECT b.bid, name, takesplace 6 Fodor Ern? Taksony 1 6 Fodor Ern? Hajd?dorog 1 FROM szentjanosbogar b, application_sen a 7 Gyorgyovich J?nos Hajd?dorog 1 7 Gyorgyovich J?nos ?jdomb?v?r 2 WHERE b.bid = a.bid 7 Gyorgyovich J?nos Hossz?het?ny 1 7 Gyorgyovich J?nos Csan?dap?ca 3 ORDER BY name 10 Kereszt?ny M?ria Mocsa 1 10 Kereszt?ny M?ria Taksony 2 People applicated to Seniors' Camp: ; 10 Kereszt?ny M?ria Csan?dap?ca 3 BID NAME TAKESPLACE --3 8 9 1 22 23 28 36 37
-------------------B?rcs?k Csaba Kara M?ria Kereszt?ny Izabella Oltv?nyi G?bor Pal?gyi Rita Proh?szka J?nos Szalay Szilvia T?th B?lint T?th J?lia
-------Miskolc Miskolc Miskolc Miskolc Miskolc Miskolc Miskolc Miskolc Miskolc
9 sor kijelolve.
Who will really go to Children’s or Adolescents’ Camps? SELECT b.bid, name, takesplace, priority FROM szentjanosbogar b, application_jun a WHERE a.bid = b.bid AND takesplace NOT LIKE 'Hajd%' AND isgoingthere=1 ORDER BY name ; BID NAME TAKESPLACE PRIORITY -2 3 4 6 7 10 11 13 14 15 16 17 18 1 21 24 25 26 27 28 29 30 30 31 32 34 35 38 39 40
----------------B?rcs?k Anik? B?rcs?k Csaba Csillik Zs?fia Fodor Ern? Gyorgyovich J?nos Kereszt?ny M?ria Kiss Andr?s Kov?cs ?gnes Laki B?la Mezey Imre Nagy Gy?z? Nagy Irma Nagy J?lia Oltv?nyi G?bor Pal?gyi J?zsef Sajg? Anik? Sim? Luca Szab? J?nos Szab? Katalin Szalay Szilvia Sz?ke G?bor Sz?ke Le? Sz?ke Le? Sz?ke M?nika T?bori Fanni T?th Adorj?n T?th B?lint T?th Nat?lia T?th Tam?s Vandlik M?ria
---------------- -Csan?dap?ca 1 Esztergom 1 Esztergom 1 Taksony 1 Hossz?het?ny 1 Csan?dap?ca 3 Mocsa 1 ?jdomb?v?r 1 ?jdomb?v?r 1 Csan?dap?ca 1 Csan?dap?ca 1 Esztergom 1 Esztergom 1 Csan?dap?ca 1 Hossz?het?ny 1 Mocsa 1 Mocsa 1 Taksony 1 ?jdomb?v?r 1 ?jdomb?v?r 1 Csan?dap?ca 1 Mocsa 2 Csan?dap?ca 1 Esztergom 1 Esztergom 1 Csan?dap?ca 1 Hossz?het?ny 1 Taksony 1 Csan?dap?ca 2 Taksony 1
11 11 12 12 12 13 13 14 14 14 15 15 16 16 17 17 17 17 17 18 18 19 1 1 1 20 21 21 21 21 24 24 25 25 26 26 26 27 27 27 28 28 29 29 29 30 30 30 31 31 32 32 33 34 34 34 35 35 35 38 38 38 39 39 39 40 40
Kiss Andr?s Kiss Andr?s Kiss Em?ke Kiss Em?ke Kiss Em?ke Kov?cs ?gnes Kov?cs ?gnes Laki B?la Laki B?la Laki B?la Mezey Imre Mezey Imre Nagy Gy?z? Nagy Gy?z? Nagy Irma Nagy Irma Nagy Irma Nagy Irma Nagy Irma Nagy J?lia Nagy J?lia Nagy Kinga Oltv?nyi G?bor Oltv?nyi G?bor Oltv?nyi G?bor Oltv?nyi M?rton Pal?gyi J?zsef Pal?gyi J?zsef Pal?gyi J?zsef Pal?gyi J?zsef Sajg? Anik? Sajg? Anik? Sim? Luca Sim? Luca Szab? J?nos Szab? J?nos Szab? J?nos Szab? Katalin Szab? Katalin Szab? Katalin Szalay Szilvia Szalay Szilvia Sz?ke G?bor Sz?ke G?bor Sz?ke G?bor Sz?ke Le? Sz?ke Le? Sz?ke Le? Sz?ke M?nika Sz?ke M?nika T?bori Fanni T?bori Fanni Tornai Kinga T?th Adorj?n T?th Adorj?n T?th Adorj?n T?th B?lint T?th B?lint T?th B?lint T?th Nat?lia T?th Nat?lia T?th Nat?lia T?th Tam?s T?th Tam?s T?th Tam?s Vandlik M?ria Vandlik M?ria
85 sor kijelolve. 30 sor kijelolve.
Mocsa ?jdomb?v?r Taksony Csan?dap?ca Hossz?het?ny ?jdomb?v?r Taksony Csan?dap?ca Taksony ?jdomb?v?r Esztergom Csan?dap?ca Hossz?het?ny Csan?dap?ca Esztergom Csan?dap?ca Taksony Mocsa ?jdomb?v?r Esztergom Hossz?het?ny Hajd?dorog Csan?dap?ca Taksony Hajd?dorog Hajd?dorog Hajd?dorog Mocsa Hossz?het?ny Csan?dap?ca Hossz?het?ny Mocsa ?jdomb?v?r Mocsa Csan?dap?ca Hossz?het?ny Taksony ?jdomb?v?r Hossz?het?ny Mocsa ?jdomb?v?r Hossz?het?ny Csan?dap?ca ?jdomb?v?r Hossz?het?ny Taksony Csan?dap?ca Mocsa Hossz?het?ny Esztergom ?jdomb?v?r Esztergom Hajd?dorog Hajd?dorog Csan?dap?ca ?jdomb?v?r Hossz?het?ny Taksony ?jdomb?v?r Mocsa ?jdomb?v?r Taksony Csan?dap?ca Hossz?het?ny Mocsa Csan?dap?ca Taksony
1 2 1 2 3 1 2 2 3 1 2 1 2 1 1 1 2 3 2 1 2 1 1 2 1 1 1 2 1 3 2 1 2 1 2 3 1 1 3 2 1 2 1 3 2 3 1 2 2 1 2 1 1 1 1 2 1 2 3 1 3 2 2 3 1 2 1
p14/18
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006
Who has applicated to more than two camps? List them into descending order! (Don’t care the Seniors’ Camp!)
NAME COUNT(*) --------------------Nagy Irma 5 Gyorgyovich J?nos 4 Pal?gyi J?zsef 4 Sz?ke Le? 3 T?th B?lint 3 Fodor Ern? 3 Kiss Em?ke 3 Szab? Katalin 3 T?th Adorj?n 3 Laki B?la 3 Szab? J?nos 3 Sz?ke G?bor 3 Oltv?nyi G?bor 3 T?th Tam?s 3 Csillik Zs?fia 3 Kereszt?ny M?ria 3
SELECT name, COUNT(*) FROM szentjanosbogar b, application_jun a WHERE a.bid=b.bid HAVING count(*) > 2 GROUP BY name ORDER BY count(*) desc ;
16 sor kijelolve.
To which Children's or Adolescent's Camp Nagy Irma did applicate? What is her priorities? SELECT a.takesplace, priority, camptype FROM application_jun A, szentjanosbogar B, CampThisYear C WHERE a.bid=b.bid TAKESPLACE PRIORITY CAMPTYPE -----------------------------AND LOWER(b.name) LIKE 'nagy_irma' Esztergom 1 kamaszt?bor Csan?dap?ca 2 gyerekt?bor AND a.takesplace=c.takesplace Taksony 3 gyerekt?bor Mocsa 4 gyerekt?bor AND (LOWER(c.camptype) LIKE 'gyerek%' ?jdomb?v?r 5 gyerekt?bor 5 sor kijelolve. OR LOWER(c.camptype) LIKE 'kamasz%') ORDER BY priority ;
Who did applicate to Taksony? What are their statuses? Is this their first marked place? Will they go there?
NEV_STATUS PRIORITY ODA ------------------------------------Csillik Zs?fia (f?bog?r) 2 nem Oltv?nyi G?bor (f?bog?r) 2 nem Fodor Ern? (r?sztvev?) 1 igen Szab? J?nos (r?sztvev?) 1 igen T?th Nat?lia (r?sztvev?) 2 igen Vandlik M?ria (r?sztvev?) 1 igen B?rcs?k Anik? (r?sztvev?) 2 nem Kereszt?ny M?ria (r?sztvev?) 2 nem Kiss Em?ke (r?sztvev?) 1 nem Kov?cs ?gnes (r?sztvev?) 2 nem Laki B?la (r?sztvev?) 3 nem Nagy Irma (r?sztvev?) 2 nem Sz?ke Le? (r?sztvev?) 3 nem T?th B?lint (r?sztvev?) 2 nem
SELECT name || ' (' || a.status || ')' nev_status, priority, DECODE(isgoingthere, 1, 'igen', 'nem') oda FROM szentjanosbogar b, application_jun a where a.bid=b.bid and takesplace='Taksony' order by status, oda, name ;
14 sor kijelolve.
Who will sleep in the same room during the Seniors’ Camp? Where are they from? SELECT roomno, name, addrcity FROM szentjanosbogar b, sleepin s WHERE b.bid = s.bid ORDER BY roomno, name ;
ROOMNO -----205 205 205 210 210 210 313 313 313
NAME -------------------Kara M?ria Oltv?nyi G?bor Proh?szka J?nos B?rcs?k Csaba Kereszt?ny Izabella T?th B?lint Pal?gyi Rita Szalay Szilvia T?th J?lia
ADDRCITY ------------Nick Szeged Kup Hidegs?g Csorna Budakeszi Bakonycsernye Tolm?cs Csert?
9 sor kijelolve.
List the groups in the camps this summer! (Where, GroupName, Name, Age) GYEREKTABOR SELECT c.takesplace gyerektabor, groupname csoportnev, name || ' (' || to_number( 2006 - to_char( BornDate, 'YYYY')) || ')' neve_eletkora FROM szentjanosbogar b, groupmember gm, campthisyear c WHERE b.bid=gm.bid AND c.takesplace=gm.takesplace AND c.camptype LIKE 'gyerek%' ORDER BY takesplace, groupname, neve_eletkora ;
------------Csan?dap?ca Csan?dap?ca Csan?dap?ca Csan?dap?ca Csan?dap?ca Csan?dap?ca Csan?dap?ca Csan?dap?ca Hossz?het?ny Hossz?het?ny Hossz?het?ny ?jdomb?v?r ?jdomb?v?r ?jdomb?v?r ?jdomb?v?r Mocsa Mocsa Mocsa Mocsa Mocsa Mocsa Taksony Taksony Taksony Taksony
CSOPORTNEV -----------figyelmes figyelmes figyelmes figyelmes messzirel?t? messzirel?t? messzirel?t? messzirel?t? t?relmes t?relmes t?relmes figyelmes figyelmes t?relmes t?relmes figyelmes figyelmes figyelmes t?relmes t?relmes t?relmes messzirel?t? messzirel?t? messzirel?t? messzirel?t?
25 sor kijelolve.
NEVE_ELETKORA ---------------------B?rcs?k Anik? (19) Nagy Gy?z? (21) Sz?ke Le? (18) T?th Adorj?n (19) Mezey Imre (10) Nagy Irma (12) Oltv?nyi G?bor (21) Sz?ke G?bor (11) Gyorgyovich J?nos (20) Pal?gyi J?zsef (19) T?th B?lint (10) Kov?cs ?gnes (19) Szab? Katalin (17) Laki B?la (18) Szalay Szilvia (21) Kereszt?ny M?ria (16) Sajg? Anik? (10) T?th Nat?lia (13) Kiss Andr?s (17) Sim? Luca (18) T?th Tam?s (17) Fodor Ern? (17) Kiss Em?ke (12) Szab? J?nos (13) Vandlik M?ria (16)
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006
p15/18
FUNCTIONAL DEPENDENCIES
Here are the Functional Dependencies in my tables. I haven’t written the FDs of some tables (Accomodated, Appeared, Application_Sen, ChildAdolJunior, ClaimToBeIn1Group, ClaimToBeIn1Home, ClaimToHave1Leader, GivesHome, Grop, GroupMember, Room, RoomIn, Senior, SleepIn, TripTogether), because their FDs are like this:
F+ = { key(s) → "; trivials }. EVENT ( ExPlace, EventStarted, EventEnded, EventType );
FEvent+ = { ExPlace, EventStarted → "; EventType, EventStarted → EventEnded; EventType, EventEnded → EventStarted; trivials }. SZENTJANOSBOGAR ( BID, Name, AddrCity, AddrZip, AddrStreet, MobPhone, HomePhone, Email, BornPlace, BornDate, Class, ParsonName, ParishAddress, ParishPhone, ReligLeader, ParentName, ParentNotification, IllName, Medicine, WillHaveMedicine );
FSzentjanosbogar+ = { BID → "; Name, AddrCity, AddrStreet → "; AddrCity, AddrStreet → AddrZip; AddrStreet, AddrZip → AddrCity; ParsonName → ParishAddress, ParishPhone; ParishAddress → ParsonName, ParishPhone; ParishPhone → ParsonName, ParishPhone ; trivials }.
INHABITANT ( IID, Name, AddrCity, AddrZip, AddrStreet, MobPhone, HomePhone, WorkPhone, Email, DistanceFrom, Vehicle );
FInhabitant+ = { IID → "; Name, AddrCity, AddrStreet → "; AddrCity, AddrStreet → AddrZip; AddrStreet, AddrZip → AddrCity; trivials }. CAMPTHISYEAR ( CampType, TakesPlace, Starts, Ends, Costs, NumberLimit, Topic, HomeWork );
FCampThisYear+ = { TakesPlace → "; CampType → Start, Ends, Costs, Topic, HomeWork; trivials }. Comment: the "TakesPlace → CampType" dependency is the most important!
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006
p16/18
NORMALIZATION TO BCNF Here are the results of decomposition to Boyce-Codd Normal Form. I will use short names for my attributes.
E := Event, P = exPlace, S := eventStarted, E := eventEnded, T := eventType. E( P, S, E, T ); FE = { PS → ET, TS→E, TE→S } E11 = (T), E12 = (E), E13 (S); FE11 = FE12 = FE13 = { }. E2 = (TEP); FE2 = { }.
C := CampThisYear; T := campType; P := takesPlace; N := NumberLimit; ∗ := others { Starts, Ends, Costs, Topic, HomeWork }. C(T, P, N, ∗ ); FC = { P → T,N,∗ ∗; T → ∗ } C1 = (T, ∗), FC1 = { T → ∗ }. C2 = (P, T, N); FC2 = { P → TN }.
B := Szentjanosbogar; B := BID; N := Name; C := AddrCity; Z := AddrZip; S := AddrStreet; P := ParsonName, A := ParishAddress, F := ParishPhone; ∗ := others { MobPhone, HomePhone, Email, BornPlace, BornDate, Class, ReligLeader, ParentName, ParentNotification, IllName, Medicine, WillHaveMedicine }. B(B, N, C, S, Z, P, A, F, ∗ ); FB = { B → NCSZPAF∗ ∗; NCS → BZPAF∗ ∗; CS → Z; SZ → C; P → AF; A → PF; F → AP }. B11 = (P), B12 = (A), B13 (F); FB11 = FB12 = FB13 = { }. B2111 = (S, C), B2112 = (S, Z); FB2111 = FB2112 = { }. B212 = (N, S, C. P, ∗); FB212 = { NSC → P∗ ∗ }. B221 = (B), B222 = (N, C, S); FB221 = FB222 = { }.
I := Inhabitant; I := IID; N := Name; C := AddrCity; Z := AddrZip; S := AddrStreet; ∗ := others { MobPhone, HomePhone, WorkPhone, Email, DistanceFrom, Vehicle }. I(I, N, C, S, Z, ∗ ); FI = { I → NCSZ∗ ∗; NCS → IZ∗ ∗; CS → Z; SZ → C; }. I111 = (S, C), I112 = (S, Z); FI_111 = FI_112 = { }. I12 = (N, S, C. ∗); FI_12 = { NSC → ∗ }. I21 = (I), I22 = (N, C, S); FI_21 = FI_22 = { }.
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006
p17/18
TRIGGERS Here’s only two elementary triggers. (In this project we have to have many triggers, but it is only two yet…) CREATE TABLE Log ( Action VARCHAR(6), ActionTime DATE, Source VARCHAR(25), Description VARCHAR(1000) ); CREATE OR REPLACE TRIGGER LogApplJun BEFORE DELETE OR UPDATE OR INSERT ON Application_JUN FOR EACH ROW DECLARE BEGIN IF DELETING THEN INSERT INTO Log(Action, ActionTime, Source, Description) VALUES('Delete', sysdate, 'Application_JUN', 'bid: ' || :OLD.BID || ' takesplace: ' || :OLD.takesplace || ' priority: ' || :OLD.priority); END IF; IF INSERTING THEN INSERT INTO Log(Action, ActionTime, Source, Description) VALUES('Insert', sysdate, 'Application_JUN', 'bid: ' || :NEW.BID || ' takesplace: ' || :NEW.takesplace || ' priority: ' || :NEW.priority); END IF; IF UPDATING THEN INSERT INTO Log(Action, ActionTime, Source, Description) VALUES('Update', sysdate, 'Application_JUN', 'bid: ' || :OLD.BID || ' takesplace: ' || :OLD.takesplace || ' priority: ' || :OLD.priority || ' -> ' || 'bid: ' || :NEW.BID || ' takesplace: ' || :NEW.takesplace || ' priority: ' || :NEW.priority); END IF; END; / CREATE OR REPLACE TRIGGER LogApplSen BEFORE DELETE OR UPDATE OR INSERT ON Application_SEN FOR EACH ROW DECLARE BEGIN IF DELETING THEN INSERT INTO Log(Action, ActionTime, Source, Description) VALUES('Delete', sysdate, 'Application_SEN', 'bid: ' || :OLD.BID || ' takesplace: ' || :OLD.takesplace); END IF; IF INSERTING THEN INSERT INTO Log(Action, ActionTime, Source, Description) VALUES('Insert', sysdate, 'Application_SEN', 'bid: ' || :NEW.BID || ' takesplace: ' || :NEW.takesplace); END IF; IF UPDATING THEN INSERT INTO Log(Action, ActionTime, Source, Description) VALUES('Update', sysdate, 'Application_SEN', 'bid: ' || :OLD.BID || ' takesplace: ' || :OLD.takesplace || ' -> ' || 'bid: ' || :NEW.BID || ' takesplace: ' || :NEW.takesplace); END IF; END; /
And here’s a trigger with translation errors: create or replace trigger DEFAULTPAYING after insert on APPLICATION_JUN for each row declare begin if CANPAY = null then :CANPAY := 6600; end if; end; / -- show errors trigger defaultpaying; -- 4/8 PLS-00049: bad bind variable 'CANPAY'
Gábor Oltványi – Szentjánosbogár Camp Applications – Database project 2006
p18/18
SPECIFIKÁCIÓ – MAGYARUL Gyerekek (Szentjanosbogar) jelentkeznek idei nyári táborokba (CampThisYear), amiket az ország különböző helységein (TakesPlace) szerveznek. Ezekben – a szeniortábor (CampThisYear/Senior) kivételével (tehát a gyerek-, kamasz- és ifitáborokban (CampThisYear/ChildAdolJunior)) – helybéli lakosok (Inhabitant) szállásolják el (Accomodating + GivesHome) a tábor résztvevőit. Szeniortáborban egy intézményben alszik (SleepIn) mindenki, szobákban (RoomIn) (Room: Number, Max létszám). Mindegyik tábor csoportokban (Grop) zajlik, a szenior kivételével vannak csoportvezetők. Öt gyerektábor, egy kamasztábor zajlik egy időben, a következő héten egy ifitábor, és később egy szeniortábor. Így a gyerektáborba jelentkezőknek meg kell adni egy sorrendet (Priority), hogy melyik helyszínen lévő táborba szeretnének inkább menni, ha betellne az első helyen megjelölt táborhelyszín, ugyanis korlátozott a helyi befogadók száma. Ezért a később jelentkezők (ApplDate alapján) a másodikként, harmadik, stb. bejelölt táborba tudnak csak menni véglegesen (az IsGoingThere logikai érték igaz, ha tényleg oda megy). Egy archívum is csatolva van az adatbázishoz, az egyes korábbi szentjánosbogár-rendezvényekről (Event), és arról, hogy ki hol volt (Appeared) eddig. RÉSZLETEK: Egy jelentkező lehet résztvevő, szervező, tábori pap, szeniortáboron kívül csoportvezető, táborvezető és egyéb más posztú is (Status). A gyerek jelentkezési lapon a következő mezők vannak: név (Name), lakcím (AddrCity, AddrZip, AddrStreet), telefonszámok (MobPhone, HomePhone), e-mail (EMail), születés hely (BornPlace), idő (BornDate), osztály (Class), plébános neve (ParsonName), plébánia címe (ParishAddress), telefonszáma (ParishPhone), hittanár vagy bogárklub-vezető (ReligLeader), betegség (IllName), gyógyszer, ha szed (Medicine), visz-e magával a táborba (WillHaveMedicine), szülő/gondviselő neve (ParentName), elérhetősége (ParentNotification), mennyit tudnak befizetni (CanPay) a tábori költségbe (lehet többet is, kevesebbet is, mód szerint), és hogy mivel érkezik a táborba (GettingTo, ált. lehet: kocsival, Budapestről a többiekkel, környéki városból a többiekkel). A jelentkezőknek lehet igényük, hogy kivel (vagy kivel ne: H_ToBeOrNot, G_ToBeOrNot) kerüljenek egy szállásra (ClaimToBeIn1Home), vagy egy csoportba (ClaimToBeIn1Group) { , ill. ki (vagy ki ne: L_ToBeOrNot) legyen a csoportvezetőjük (ClaimToHave1Leader) } .
A szállásadótól a néven, címen, telefonszámokon (+ WorkPhone) kívül megkérdezzük, hogy hány gyereket fogadnának be (CanAccChild), hányat végső esetben (CanAccMax), hogy milyen fiú-lány igényük van (GirlBoyRate), hány percre laknak a reggeli találkozóhelytől (DistanceFrom), és milyen járművel közelíthető meg ez (Vehicle: gyalog, bicikli, kocsi, busz). Egy korábbi eseményről eltároljuk a típusát (EventType: gyerektábor, kamasztábor, ifitábor, szeniortábor, ősbogártábor, bál, rajzás, métabajnokság, lelkigyakorlat, vezetőképző, táborelőkészítő nap, konditábor, játékklub, bogármise), helyszínét (ExPlace), kezdetét (EventStarted) és végét (EventEnded), az egyes megjelenteknél (Appeared) azt is, hogy milyen státuszban voltak (ExStatus: szevező, főbogár, résztvevő, stb.), ill. ha volt, akkor az akkori csoportnevüket is (ExGroup). Az idei táborok különböző helyszíneken (TakesPlace) szerveződnek (egy évben nincs két tábor egy helyen), fontos a kezdete (Starts), vége (Ends), van egy költsége (Costs), témája (Topic), amihez egy jelképes házifeladatot kapnak a résztvevők (HomeWork). A létszámkorlát (number_limit) a szállásadók által nyújtott helyekből áll össze. Noha négy korosztály van megkülönböztetve, két jelentkezési sablon különül el: a gyerek-, kamasz- és ifitáboroké (Application_BOG) ill. a szeniortáboré (Application_SEN). A csoportoknak (Grop) neve van (GroupName), a csoportnevek azonosak az összes gyerektáborban. A csoportvezetők a jelentkezők státuszából jön ki, a létszám a csoportbeosztásból. A tábor során egy kirándulás is zajlik, aminek 3-4 busszal, buszonként 3-4 csoport (TripTogether) megy. Fontos még elkülöníteni az idősíkokat. A jelentkezéseknél kitöltődnek az állandó személyes adatok is, és olyan adatok is, amelyek csak a jelentkezésre vonatkoznak. Így nem szabad összeegyeztetnünk pl. a leendő táborosokat a már elszállásoltaktól. Akkor lesz tábori résztvevő valaki, ha az IsGoingThere attribútuma 1 vagyis igaz, hogy oda megy…