Avatar billede styrken Nybegynder
01. juli 2001 - 15:40 Der er 28 kommentarer og
1 løsning

Views... Hvad er det?

Jeg har læst noget om views.
Som jeg har forstået det så fungerer views på hel samme måde som en tabel?

Jeg har tænkt det kunne være meget nyttigt i et lille system jeg har hvor der er en masse brugere.
Men desværre er systemet opbygget sådan at hver bruger ikke har en tabel, kan man så bare lave et view og så bruge det view som om det var en tabel?

Hvordan opretter man et view?
Hvor kan man finde mere læsestof omkring views (på dansk)
Avatar billede netsrac Praktikant
01. juli 2001 - 15:49 #1
Ja hvad er views, noget som mySQL hvis ikke understøtter. Men eller kan det opfattes som en tabel, faktisk er det et udtræk som danner en ny tabel som man så kan forespørge på.
Avatar billede styrken Nybegynder
01. juli 2001 - 15:51 #2
dvs. mySQL ikke understøtter views eller hvad?
er du sikker?
Avatar billede mjl Nybegynder
01. juli 2001 - 15:54 #3
MySQL understøtter views...
Avatar billede mjl Nybegynder
01. juli 2001 - 15:58 #4
SELECT navn FROM navne_liste;

vil give viewet:

navn:
georg
børge
lis
Avatar billede netsrac Praktikant
01. juli 2001 - 15:59 #5
Avatar billede fortesque Nybegynder
01. juli 2001 - 16:12 #6
Hvis det ikke understøttes endnu, så undrer det mig meget at views kører fint på min mySQL v. 3,noget... Så enten er jeg ved at blive nærsynet, eller oz har de skrevet forkert i deres dokumentation :-)
Kna godt se at de skriver at det først vil blive understøttet omkring v. 4,1 men det virker fint på min v. 3,noget såeee... det virker ikke logisk :-)
Avatar billede netsrac Praktikant
01. juli 2001 - 16:15 #7
fortesque >> Hvordan opretter du så et view ?
Avatar billede netsrac Praktikant
01. juli 2001 - 16:16 #8
mjl >> Og det du henviser til er blot en SELECT det er ikke et view.
Avatar billede fortesque Nybegynder
01. juli 2001 - 16:20 #9
netsraz >> OK, me just ved at være nærsynet ;-) Jeg så der stod \'print view\'. klikkede og det virkede, så jeg tænkte bare lidt for hurtigt videre, Sorry :-)
Så \'print view\' er understøttet, men man kan så ikke oprette et view, OK, men det er altså understøttet 50% ;-)
Avatar billede netsrac Praktikant
01. juli 2001 - 16:24 #10
Nu har vi vist skabt rimelig stor forvirring om hvad et view er. Tager et eksempel fra Oracle:

Har tabellen test med felterne:
id
navn
email
adresse

Så opretter jeg viewet email:

CREATE VIEW email AS (SELECT email FROM test);

Hvis jeg så laver en:

SELECT * FROM email;

Vil jeg få kolonnen email udfra tabellen email, som i virkeligheden er kolonnen email fra tabellen test.
Avatar billede netsrac Praktikant
01. juli 2001 - 16:25 #11
Ups sidste linie skulle være:
Vil jeg få kolonnen email udfra viewet email, som i virkeligheden er kolonnen email fra tabellen test.
Avatar billede fortesque Nybegynder
01. juli 2001 - 16:28 #12
Hmm... smart nok, men hvis det endnu ikke er understøttet i mySQL, hvilken db understøtter det så?
Avatar billede netsrac Praktikant
01. juli 2001 - 16:30 #13
Oracle gør blandt andet, som eksemplet jo var taget fra. MS SQL mener jeg også understøtter det.
Avatar billede fortesque Nybegynder
01. juli 2001 - 16:33 #14
OK :-) Men jeg tror nu bare jeg venter til mySQL understøtter det, det er vel ikke værd at skifte db for at få en funktion som man allerede kan lave på en tilsvarende måde ;-)
Avatar billede mjl Nybegynder
01. juli 2001 - 16:49 #15
Min SELECT er den jeg kan lave ud fra et view, ligesom du viste i Oracle eksemplet.

MySQL undestøtter views....sidder med bogen foran mig!!!!!!!!!!!!!!!
Avatar billede netsrac Praktikant
01. juli 2001 - 16:50 #16
mjl >> Jamen hvordan opretter man så et view ? BTW få lige kigget på din 1 tast, tror det sidder fast.
Avatar billede mjl Nybegynder
01. juli 2001 - 16:51 #17
Og så tal lige ordentligt.....du er ikke konge endnu!!!
Avatar billede mjl Nybegynder
01. juli 2001 - 16:52 #18
På samme måde....som dit eks.
Avatar billede netsrac Praktikant
01. juli 2001 - 16:57 #19
Okay, hvilken version sidder du med ? Sidder med 3.23 og her virket det ikke da ?
Avatar billede mjl Nybegynder
01. juli 2001 - 17:05 #20
Sorry, sorry og sorry igen - jeg sidder og læser på fremtiden. Ver. 4.1 vil understøtte views, Ver. 3.23 understøtter ikke.

Hovedet oppe i røven er ikke befordrende!!

Håber du bærer over med mig!!!
Avatar billede netsrac Praktikant
01. juli 2001 - 17:09 #21
:-)
Avatar billede mjl Nybegynder
01. juli 2001 - 17:24 #22
:o)
Avatar billede styrken Nybegynder
01. juli 2001 - 18:03 #23
ok. understøtter mySQL så view eller ej?
Avatar billede netsrac Praktikant
01. juli 2001 - 18:05 #24
Niks det gør det ikke i den nuværnde version.
Avatar billede styrken Nybegynder
01. juli 2001 - 18:07 #25
ok - du fik jo ret så kan jeg lige donere 60 point til dig i kampen om en bedre placering på top 10 ? :)
Avatar billede styrken Nybegynder
01. juli 2001 - 18:07 #26
test
Avatar billede styrken Nybegynder
01. juli 2001 - 18:08 #27
test igen
Avatar billede netsrac Praktikant
01. juli 2001 - 18:16 #28
Lækkert :-)
Avatar billede defrost Nybegynder
01. juli 2001 - 21:02 #29
For lige at komme med lidt yderligere kommentarer kan man sige, at views normalt bliver brugt til 2 ting:

1) Man kan fx lave et view over et kompliceret join. Derved er der ikke nødvendigt at skulle udføre dette join ved hver forespørgsel, man kan bare lave en almindelig select på viewet. Derudover giver det databasen mulighed for at optimere lidt mere.

2) Man kan bruge et view til at begrænse brugeres rettigheder. Fx kan en tabel, der indeholder brugernavn/password-par for brugere være spærret for alle brugere undtaget superbrugeren. Superbrugeren kan så oprette et view hvor kun brugernavn-feltet er med og give almindelige \"dødelige\" brugere ret til at læse i viewet. Eller man kan oprette et view hvor kun de ordrer en bestemt sælger har er med og give den sælger tilladelse til at læse/skrive i det view. Derved undgår man, at han kan opdaterer poster, der ikke \"tilhører\" ham.

Mht hvilke databaser der understøtter views kan jeg oplyse at PostgreSQL understøtter views, hvis man ikke er interesseret i at spytte mange penge efter fx Oracle eller MSSQL. PostgreSQL er GPL.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester