1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Check Constraint

Dieses Thema im Forum "SQLite" wurde erstellt von DatenbankFrager, 7 November 2018.

  1. DatenbankFrager

    DatenbankFrager Neuer Benutzer

    Hallo.

    Wie macht man denn das untere? Ich wuerde es gerne mit Java Regulaere Ausdruecke machen. Aber laut Aufgabe soll ich das tatsaechlich per Sql pruefen. Mit assertion koennte ich theoretisch vielleicht noch die Laenge herausbekommen. Aber das deutsche Alphabet halte ich fuer unmoeglich. Und das Passwortformat, gibts da einen bestimmten Befehl?


    Alle nicht optionalen
    Attribute, die in mindestens einem Element des (zum entsprechenden Attribut gehorigen) Wertebereichs
    mindestens ein Nicht-Ziffer-Zeichen enthalten, mussen auf eine Lange groer null gepruft
    werden. Alle vorgegebenenWertebereiche sind einzuhalten

    Somit sollen zum Beispiel Namen nur Zeichen aus dem deutschen Alphabet enthalten und gultige
    E-Mail-Adressen dem Format "local-part@domain-part" entsprechen. Passworter mussen mindestens
    sechs Zeichen lang sein und dabei mindestens einen Grobuchstaben und mindestens eine Zier
    enthalten.
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Was spricht dagegen, reguläre Ausdrücke in SQL zu verwenden? Soweit mir bekannt, kann sqlite das, auch in CHECK-Constraints.
    LMGTFY
     
  3. ukulele

    ukulele Datenbank-Guru

    Mit typeof() sollte sich zumindest bestimmen lassen ob es numerisch ist. Ob da jetzt dann auch noch Punkte enthalten sein dürfen weiß ich nicht, deine Aufgabe ist etwas wirr. Vielleicht läßt sich damit aber auch auf Sonderzeichen prüfen, am besten mal ausprobieren.
    SQLite typeof() function - w3resource

    Alles andere wie Länge oder E-Mail-Format mit LIKE sollte ja kein Problem sein.
     
  4. DatenbankFrager

    DatenbankFrager Neuer Benutzer

    Danke fuer die Antworten. Aber ich habe keine Kontrolle ueber Addons der SQLite Version des Tutors. Und Like war nicht maechtig genug.
    Daher habe ich mich fuer GLOB entschieden.

    Wenn es jemand interessiert:

    CREATE TABLE OKAY(
    rennen VARCHAR(100) not null CHECK (rennen GLOB '[a-zA-ZÜÖÄüöäß]*' AND rennen GLOB '*[a-zA-ZÜÖÄüöäß]' AND length(rennen) >0),
    PRIMARY KEY(rennen)
    );
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden