
dr.dimitri
Mitglieder-
Gesamte Inhalte
1276 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von dr.dimitri
-
MySQL aus n Zeilen eine machen (kombinieren)
dr.dimitri antwortete auf Raaico's Thema in Datenbanken
Stichwort Soziale Kompetenz als Moderator. Zum eigentlichen Problem: Ich würde hier eher das Stichwort Pivotieren verwenden. Das ist, sofern die DB hier keinen speziellen Befehl hat nicht ganz so einfach, besonders, da Du evtl. eine unbestimmte Menge an Spalten hast. Wie man mit Subselects eine unbekannte Menge von Ausprägungen pivotiert würde ich gerne sehen - man lernt ja nie aus. Sofern hier kein anderer Kollege entsprechende Erfahrung hat (mysql ist nicht unbedingt "meine" DB) und ein "vorgekautes" Beispiel hat, würde sicherlich auch eine Suche in der oben schon genannter Suchmaschine helfen. Dim -
Ist das in PL/SQL oder in einem SQL Statement?
-
Und wech is es.
-
Hi, nachdem ich umziehe, wird auch meine Bibliothek wieder etwas ausgemistet. Folgendes Buch würde ich an einen Interessenten verschenken: Oracle Expert One On One (allerdings nicht die signierte Version) Da ich auch noch eine kostenlose Paketmarke gefunden hab, wäre auch der Versand frei Haus. Wer also ehrliches Interesse an dem Buch hat und diese nicht sofort bei Amazon oder Ebay einstellt, sowie durch seine Aktivität in der letzten Zeit hier belegen kann, dass er sich intensiver mit Oracle beschäftigen will/muss soll mir einfach eine PM schreiben. Dim
-
Ein kurzer Blick in die Oracledoku hätte Dir verraten, dass diese syntax falsch ist (zumindest für Oracle). Korrekt wäre: with [I]alias[/I] as (select ...), [I]alias2[/I] as (select ...), [I]alias3[/I] as (select ...) Dann war sicherlich keines dieser Konstrukte unter Oracle lauffähig. MSSQL vielleicht oder DB2. Dieses Konstrukt nennt sich übrigends Subquery Factoring und nicht Inline View. Eine Inline View (oder Subquery) kommt nach der FROM Klausel. Dim
-
Hi, ein ; innerhalb eines SQLs gibt es nicht, dafür ist das END da. Der Alias wird pro Spalte nur einmal vergeben und wird damit nach dem END platziert: SELECT CASE .... END AS XXXDim
-
Uptade der CSV-Datei in Plenty importieren
dr.dimitri antwortete auf lenaschatziii's Thema in Datenbanken
Dann schreib Dir ein kleines Skript welches das für Dich erledigt. Die Tabelle kannst ja stehen lassen und nach getaner Arbeit wieder leeren. Davon abgesehen: Wie dürfen wir Dich den fachlich einordnen? hast Du schon mal was mit Datenbanken gemacht? Bist Du überhaupt Entwickler oder hast die Aufgabe von jemand anderem geerbt? Dim -
Uptade der CSV-Datei in Plenty importieren
dr.dimitri antwortete auf lenaschatziii's Thema in Datenbanken
Hi, leg Dir eine zweite Tabelle an, die die gleiche Struktur wie die Zieltabelle besitzt, anschließen importierst Du die komplette csv Datei in diese Tabelle und filterst dann alle Sätze aus, die es in der Zieltabelle nicht schon gibt: INSERT INTO zieltabelle SELECT * FROM temptabelle a WHERE NOT EXISTS(SELECT 1 FROM zieltabelle b WHERE a.id=b.id)Um das vorab zu prüfen, kannst das INSERT INTO ja auch weglassen und nur mal das Select ausführen um zu sehen, ob Du es auch richtig gemacht hast. Dim -
Ja klar. Ein BA bei einer Versicherung hat andere fachliche Kenntnisse als bei einem Chemiekonzern - egal wieviele Jahre er dort war. Zur Berufserfahrung gehören desweiteren auch die sog. Softskills, die u.a. eben auch den Unterschied zu einem Azubi oder einem frischen Uni/FH Absolventen machen. Die Juniorstelle wurde ja schon angesprochen. Dim
-
Richtig. Da gab's wohl eine Doppeldeutigkeit der Abkürzungen Dim
-
Da BAs idealerweise auch Erfahrungen in der IT besitzen (sie fungieren u.a. als Schnittstelle zwsichen IT und Fachbereich und müssen daher beide Sprachen verstehen) - warum bitte sollten diese 2 Jahre plötzlich nicht mehr zählen? Bei uns sind BAs z.B. direkt in der IT angesiedelt, viele waren ehemals Entwickler und seit neuesem werden gezielt BAs auch ausgebildet (Informatikkaufmann). Dim
-
Das nennt sich referentielle Integrität (oft auch abgekürzt RI genannt), die bei mysql, wie schon erwähnt, mit der InnoDB Engine, nicht aber mit der myisam Engine implementiert ist. Weitere Begriffe nach denen Du suchen kannst sind Primary Key und Foreign Key. Dim
-
Und wann soll die erste Gehaltsprüfung stattfinden? Das Einstiegsgehalt ist zwar nicht enorm groß, aber in München hab ich damals 2400 bekommen, was sich dann jedoch innerhalb weniger Jahre im 6 Monatsrhythmus recht ansehnlich erhöht hat. Dim
-
Viel zu lange. 15-20 Minuten bei einem aussagekräftigem Workload reichen vollkommen. Die Buffer Cache Hit Ration ist relativ nichtssagend. Es gibt sogar ein kleines Tool, mit dem man sich seine Wunsch Hit ration selbst erzeugen kann. Über die Performance sagt das relativ wenig aus. Interessanter sind die Top 5 Statements, ob es dort evtl. Verbesserungspotential gibt bzw. ob Dir bei den Top 5 Wait Events etwas seltsam vorkommt. Dabei spielt es natürlich auch eine wichtige Rolle, wie die Datenbank verwendet wird. Ein OLAP System sieht anders aus als eine OLTP Instance. Dim
-
Ja, die kannst direkt wegschmeißen, oder noch besser zurückschicken und das Geld dafür zurückverlangen. Einen Statspackreport zu ziehen ist dann sinnvoll, wenn man ein konkretes Problem hat, und in einem bestimmten Zeitraum (15-20 Minuten nicht Stunden oder Tage) wissen möchte, was auf der DB genau los ist. Das ist dann auch deutlich überschaubarer (ca. 1-20 Seiten je nach Aktivität). Sofern Du also kein konkretes Performanceproblem hast, würd ich auch keinen Statspackreport lesen - außer Du hast zuviel Zeit. Des weiteren würd ich bei den Admins mal nachfragen, was die sich dabei gedacht haben und dass sie sich die 100 Seiten sonst wo hinschieben können Dim PS: Über welchen Zeitraum ging denn der Report?
-
Eine andere Möglichkeit ist es, Dir die benötigte Menge über ein Subselect zur Verfügung zu stellen. Allerdings kenne ich die Datumsfunktionen von MSSQL nicht, aber in Oracle liefert dieses SQL z.B. alle Monate eines Jahres: SELECT ADD_MONTHS (TRUNC (SYSDATE, 'YY'), ROWNUM - 1) datum FROM all_objects WHERE ROWNUM < 13Dim
-
Crosspost
-
Ist eine Möglichkeit, aber tihadi war ja schon auf dem richtigen Weg: select distinct nummer,anzahl from knurpsel Auf technischer Ebene ja, aber das stellt die Datenbank sicher (Oracle z.B. über die Rowid). Ansonsten muss überhaupt nichts eindeutig sein, ebensowenig muss eine Tabelle einen PK besitzen. Dim
-
Oracle und SQL - Bestimmter Datensatz anzeigen
dr.dimitri antwortete auf JasonLief's Thema in Datenbanken
Was genau möchtest Du denn eigentlich machen? Es gibt keinen x-ten Eintrag in einer Tabelle. Dort ist alles kunterbunt gemischt. Ebenso gibt es keine fortlaufende Nummer. ROWNUM ist eine Pseudospalte, die von Oracle an eine zeile vergeben wird, wenn die WHERE Bedingung erfüllt ist. ROWID wiederum ist etwas völlig anderes und hat auch nichts mit der Reihenfolge zu tun. Dim -
Oracle-Datenbank kopieren (nur die Systemdateien)
dr.dimitri antwortete auf Alex_winf01's Thema in Datenbanken
Nur mal interessehalber: Das Filesystem auf der Zielplatte ist NTFS, es ist genügen Platz vorhanden und wenn Du die Datei manuell über den explorer per D&D kopierst funktioniert es? Dim -
Oracle-Datenbank kopieren (nur die Systemdateien)
dr.dimitri antwortete auf Alex_winf01's Thema in Datenbanken
Hi, verwende niemals COPY um Datenbankdateien zu kopieren. Damit zerschießt Du dir die datafiles. Nimm xcopy. Des weiteren würde ich einfach das komplette Verzeichniss kopieren und nicht die einzelnen Dateien, dann vergisst man auch nichts wie z.B. den oder die TEMP Files wie in Deinem Fall. Dim -
Naja die .Net'ler stehen uns Javafuzzis mittlerweile ja in nichts mehr nach Ergänzend zu flashpixxs Aussage, sind PK-FK Constraints in einer Multiuser Umgebung die einzig sichere Möglichkeit die Konsistenz der Daten sicherzustellen - es sei denn, man sperrt alle betroffenen Tabellen und lässt immer nur eine Änderung gleichzeitig zu- Diese Anwendung wird das Monatsende sicherlich nicht überleben... Beispiel: Session A löscht Satz 1 sowie den (fachlich) untergeordneten Satz 1.1. Session B prüft gleichzeitig, ob Satz 1 noch vorhanden ist, was erfolgreich ist, da Session A noch nicht committet hat und daher die Löschung noch nicht für andere Sichtbar ist. Session A comittet jetzt, während Session B den Satz 1.2 insertet im festen Glauben, dass der übergeordnete Satz 1 noch vorhanden ist. Damit sind die Daten inkonsistent und keiner weiß warum es meistens funktioniert und manchmal auch wieder nicht. Verwendet man RI, so kümmert sich die Datenbank darum, dass entsprechende Fehlermeldungen hochkommen sofern man das versucht. Allerdings nimmt einem RI nach wie vor nicht ab, optimistisches oder pessimistisches Locking in der Anwendung zu implementieren, da es ansonsten immer noch zu einem sog. Lost Update kommen kann. Die Daten sind dann zwar technisch konsistent der Anwender wundert sich aber, warum die Daten weg sind obwohl er fehlerfrei speichern konnte. Dim
-
Hier werden gleich zwei Fehler gemacht. 1. Du speicherst ein Datum als String ab. Warum? 2. Du gehst davon aus, dass ein Indexzugriff immer schneller ist als ein FTS. Vergleiche einen Index mit einem Stichwortverzeichnis. Wenn Du nur zu ein paar Wörtern die Inhalte heraussuchen möchtest, geht das über das Stichwortverzeichnis natürlich sehr schnell. Musst Du aber für sehr viele Wörter nachschlagen, kommt Du irgendwann an einen Punkt, an dem es schneller ist, dass Buch einfach von vorne bis hintern durchzublättern anstatt für jedes Wort einzeln nachzuschlagen. Der Optimizer greift, davon abgesehen, noch auf einige Feinheiten wie Histogramme, Cachverhalten, Geschwindigkeit der Platten und CPUs etc. zu, die in die Berechnung mit einfließen. Dim
-
Hmm schon wieder 2 Jahre her? Die Zeit vergeht. Auch von mir ein Update: Firma/Aufgabenbereich nach wie vor identisch, neues Jahrebrutto ~72K Dim
-
HH24 ist ein String und muss dementsprechend natürlich in ' ' geschrieben werden. trunc(sysdate,'HH24') Dim