Oracle Database
Oracle databaser er stærke og solide database, der er er bredt brugt i erhverslivet.
Hvis du vil bruge oracle privat eller i firma regi. Er det muligt at hente en gratis udgave af oracle. Den kan hentes her:
Oracle Database 10g Express Edition
Brug af oracle databaser i Windows NT/XP
Åben en promt (cmd i kør) husk at afslutte med semikollon i promt kommandoer.
For at logge ind skriv: "sqlplus /nolog" uden "
For at forbinde til oracle skriv: "connect [user]/[pass]@[serveren]"
Hvis du er forbundet, kan du forespørge følgende:
user_tables -- tabeller ejet af brugeren
all_tables -- tabbeller brugeren har adgang til.
dba_tables -- alle relationelle tabeller
dba_all_tables -- alle relationelle tabeller og objekt tabeller
dba_object_tables -- objekt tabeller
dba_catalog -- tabeller,views, synonyms og sequences
Hvis man er vant til MySQL eller MSSQL og man kommer over på oracle, skal man se
måden hvorpå server-instance-tabeller ligger på, på en anden måde. Se det (som begynder) som
server-schema (en user) - tabeller.
Hvis man fx vil lave noget der svare til database1 med tabellerne t1,t2 og t3,
vil man lave en schema (en bruger), og logge ind som denne. Herinde kan de tre tabeller så
oprettes. Hvis man laver et andet schema og laver nogle tabeller der. Kan man ikke se
tabellerne fra det første skema. Det kan dog lade sig gøre hvis man tildeler en role til brugeren,
som giver lov til at bruge en andens brugers tabel.
I oracle er en bruger en der kan forbinde sig til en database (hvis han har nok privilegier) og
han (hvis han har rettigheder nok) kan eje objekter, som fx tabeller i databasen.
Objekterne en bruger ejer er samlet set kaldt et schema, derved er der en EnTilEn ralation mellem schemaet
og brugeren.
Hvis du vil se en beskrivelse af disse tabeller, hvilket kollonner de indeholder kan du skrive:
desc [tabel] - fx desc all_tables
Disse kan der så laves normale sql forespørsler på.
For at lave en bruger på databasen
create user [navn] identified by [password]
For at lave en rolle:
create role [navn]
For at knytte en rolle til en user:
grant [rolle] to [brugeren]
Roller kunne være
DBA - administrator
CONNECT
[Egne dannede roler]
Skal man fjerne en bruger:
drop user [bruger]
drop role [rollen]
I Oracle Express er der Locator understøttelse, dvs en del af oracles spatial database er indeholdt
heri.
Det vil sige at der er understøttelse for geografiske objekter. Disse kan bruges til at
gemme placeringer af punkter, linier og polygoner (områder). Disse geografiske punkter er
knyttet til et koordinat system, som derved muliggør for locator at lave beregninger på disse
data.
Fx Hvor mange punkter ligger inden for en radius af ti kilomter.
Man kan fx oprette en tabel ved navn:
create table bygninger(
bygning_navn varchar(30),
bygning_type varchar(20),
bygning_placering SDO_GEOMETRY)
Man indsætter ved følgende:
insert into bygninger(bygning_navn, bygning_type, bygning_placering) values ('Christiansborg', 'Statsbygning', SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(-70.00, 40.00, NULL), NULL,NULL))
For hver kolonne man indsætter, skal man opdatere USER_SDO_GEOM_METADATA
Derpå, skal der laves Spatiale index.
Oracle hjælpeside
For at benytte tnsnames på en pc hvor oracleXEclient er installeres. Kopier NETWORK FOLDEREN over fra serveren til klienten
på niveau med sqlplus mappen! Indstild heri!