Brainstorming für Kinoprogramm Script
Schnaps
- php
0 Sky0 Matthias Jütte0 Sky0 Matthias Jütte0 Sky
0 Schnaps0 Matthias Jütte0 Sky
0 eisbaer040 Matthias Jütte0 Sky
Servus
Ich schreibe gerade ein Script für ein Kino in dem die Betreiber ihre Vorstellungen für jedes Kino selber eintragen können.
Was ich bereits habe ist die normale eingabe aller Daten zu einem Film wie Regie,Länge,FSK,Bilder... alle diese Daten werden in einer mySQL Tabelle gespeichert und jeder Film hat so eine ID.
Also ich kann jeden Film mit all seinen Daten über eine ID:film_id ansprechen.
Worüber ich mir gerade den Kopf zerbreche ist die Datenbank Strucktur für die Tabelle in der das Programm gespeichert wird.
Hatte es so geplant:
Tabelle: Programm
Felder: id , film_id , kino_nr , zeit (Als Timestamp)
Haltet ihr die Datenstrucktur für OK?
Welche Features würded ihr euch wünschen für so ein Script wenn ihr dort wöchentlich alle Filme eintragen müßt?
Es werden pro Tag so ca. maximal 5 Vorstellungen sein pro Kino schätze ich, das macht bei 6 Kinos => 30 Einträge pro Tag. Stellt das ein Problem da von der Menge her? Aber ist je eigentlich recht klein der Eintrag und ein Forum zum Beispiel hat da ja erheblich mehr Zeilen in der Datenbank.
Würde das hier gerne als Ideensammlung laufen lassen, wäre sehr nett wenn ihr ein paar Ideen beisteuern würdet.
Danke
Schnaps
Hallo Schnaps!
Was hältst du von folgenden Tabellen und ERD?
|Kinobetreiber| 1--n |Kinosaal|
|Kinosaal| 1--n |Programm| n--1 |Film| n--1 |Genre|
|Film| 1--n |Darsteller| n--1 |Schauspieler|
+---------------+
| Kinobetreiber |
+---------------+---+
| ID |
| Name |
| Strasse |
| PLZ |
| Ort |
| Tel_Kontakt |
| Tel_Kartenbest. |
| Fax_Kontakt |
| Fax_Kartenbest. |
| Homepage |
| eMail |
| Bemerkung |
+-------------------+
+----------+
| Kinosaal |
+----------+--------+
| ID |
| Kinobetreiber_ID |
| Name |
| Stockwerk |
+-------------------+
+----------+
| Programm |
+----------+--------+
| Kinosaal_ID |
| Film_ID |
| Tag_Start |
| Tag_Ende |
| Uhrzeit_Start |
| Preis_Normal |
| Preis_Ermässigt |
+-------------------+
+------+
| Film |
+------+------------+
| ID |
| Genre_ID |
| Regie |
| Land |
| Jahr |
| Länge |
| FSK |
| Beschreibung |
+-------------------+
+-------+
| Genre |
+-------+-------------+
| ID |
| Name |
+-------------------+
+--------------+
| Schauspieler |
+--------------+----+
| ID |
| Name |
+-------------------+
+------------+
| Darsteller |
+------------+------+
| Film_ID |
| Schaupieler_ID |
+-------------------+
Grüsse,
Sky
Hallo!
Also mir gefällt sie schon ziemlich gut. Allerdings müßten Regie, FSK und Land wohl auch über eigene Tabellen laufen (macht ME gerade bei den letzten beiden Sinn). Weiterhin würde ich die Schauspielernamen noch in Name und Vorname unterteilen. Ein Feld "Adreßzusatz" beim Betreiber ("am Musterplatz") kann auch nicht schaden.
Die Preise machen in der Programm-Tabelle vielleicht nicht so viel Sinn, da sie meist ja ohnehin für alle Filme gleich sind und in einer eigenen Preisliste dargestellt werden. Man könnte halt höchstens eine Art Marker setzen, um dann aus der Vorstellungszeit und den Markern (Überlänge, Doppelvorstellung, ...) automatisch den individuellen Preis zu berechnen.
Sehe ich es außerdem richtig, daß die Programmtabelle keinen Primärschlüssel hat?
Gruß
Matthias
Hallo Matthias
Also mir gefällt sie schon ziemlich gut. Allerdings müßten Regie, »» FSK und Land wohl auch über eigene Tabellen laufen (macht ME
gerade bei den letzten beiden Sinn). Weiterhin würde ich die
Schauspielernamen noch in Name und Vorname unterteilen. Ein Feld
"Adreßzusatz" beim Betreiber ("am Musterplatz") kann auch nicht schaden.
Ich wollte es nicht zu detailiert machen, schließlich soll "Schnaps" ja auch noch was zu tun haben. ;-)
[Preise: Ort]
Man könnte halt höchstens eine Art Marker setzen, um dann aus der
Vorstellungszeit und den Markern (Überlänge, Doppelvorstellung,
...)
automatisch den individuellen Preis zu berechnen.
Und was ist mit Sondervorstellungen á la "Sneak Preview", etc.?
Sehe ich es außerdem richtig, daß die Programmtabelle keinen
Primärschlüssel hat?
Ja. Es ist ja eine Verknüpfungstabelle, soll heissen, sie verbindeten Datensätze aus zwei anderen Tabellen. Somit enthält sie schon jeweils die Primärschlüssel der beiden anderen. Man müsste mindestens ein (Unique-)Index über die beiden Spalten mit den IDs (bzw. Foreignkeys) legen, oder natürlich gänge auch ein Primärschlüssel über beide Spalten.
Grüsse,
Sky
Hallo!
Und was ist mit Sondervorstellungen á la "Sneak Preview", etc.?
Wäre halt ein eigener Marker (z.B. mit einem "negativen Preis", der dann zum regulären addiert wird).
Ja. Es ist ja eine Verknüpfungstabelle, soll heissen, sie verbindeten Datensätze aus zwei anderen Tabellen. Somit enthält sie schon jeweils die Primärschlüssel der beiden anderen. Man müsste mindestens ein (Unique-)Index über die beiden Spalten mit den IDs (bzw. Foreignkeys) legen, oder natürlich gänge auch ein Primärschlüssel über beide Spalten.
Aber die haben doch auch eindeutige Schlüssel. Was ist denn z.B., wenn ein Film vom 1.-13. jeweils um 16 und 19 Uhr und nochmal vom 18.-25. jeweils zu den gleichen Zeiten im gleichen Saal läuft? Dann müßtest du den Schlüssel schon auf vier Felder ausdehnen.
Gruß
Matthias
Hallo Matthias!
[...]
Aber die haben doch auch eindeutige Schlüssel. Was ist denn z.B., wenn ein Film vom 1.-13.
jeweils um 16 und 19 Uhr und nochmal vom 18.-25. jeweils zu den gleichen Zeiten im gleichen Saal läuft? Dann müßtest du den Schlüssel schon auf vier Felder ausdehnen.
Ja, stimmt, das hatte ich übersehen. Also doch eine weitere Spalte "ID" als Primärschlüssel.
Grüsse,
Sky
+----------+
| Programm |
+----------+--------+
| Kinosaal_ID |
| Film_ID |
| Tag_Start |
| Tag_Ende |
| Uhrzeit_Start |
| Preis_Normal |
| Preis_Ermässigt |
+-------------------+
Um diese Tabelle ging es mir im wesentlichen!
Ok, stimmt. Über die letzten beiden Zeilen muß ich eventuell mal nachdenken. Ist eine gute Idee noch eine Kennzeichnung für Übelänge ein zu führen.
Meinst du mit Tag_Anfang bzw Tag_Ende das Datum wann die das erste bzw das letzte mal laufen?
Halte ich für nicht so gut dann, da die Betreiber meinten das sie für jedes Kino (Saal) für jeder Uhrzeit einen Film einstellen wollen können.
Da der Kinderfilm um 15:00 in dem großen Kino läuft um 20:00 aber dafür nur noch in einem kleinen Kino.
+------+
| Film |
+------+------------+
| ID |
| Genre_ID |
| Regie |
| Land |
| Jahr |
| Länge |
| FSK |
| Beschreibung |
+-------------------+
+-------+
| Genre |
+-------+-------------+
| ID |
| Name |
+-------------------+
Die beiden Tabellen habe ich genau so implementiert gehabt!
Immer beruhigend wenn es jemand genau so gemacht hätte.
Danke für deine Idee!
Gibt es noch Features die eurer Meinung nach auf jeden Fall da sein sollten?
Hallo!
Meinst du mit Tag_Anfang bzw Tag_Ende das Datum wann die das erste bzw das letzte mal laufen?
Halte ich für nicht so gut dann, da die Betreiber meinten das sie für jedes Kino (Saal) für jeder Uhrzeit einen Film einstellen wollen können.
So sparst du dir (und insb. den Betreibern) aber, 31 Einträge anzulegen, wenn ein Film einen Monat (mit 31 Tagen) lang jeden Tag zur gleichen Zeit im gleichen Saal läuft.
Es hindert dich dann niemand daran, drei Einträge draus zu machen, wenn er am 16. früher läuft (1.-15.; 16.; 17.-31.).
Gruß
Matthias
Hallo Schnaps!
[Tabelle: Programm]
...
| Tag_Start |
| Tag_Ende |
...Meinst du mit Tag_Anfang bzw Tag_Ende das Datum wann die das
erste bzw das letzte mal laufen?
Ja, genau.
Halte ich für nicht so gut dann, da die Betreiber meinten das sie für jedes
Kino (Saal) für jeder Uhrzeit einen Film einstellen wollen können.Da der Kinderfilm um 15:00 in dem großen Kino läuft um 20:00 aber
dafür nur noch in einem kleinen Kino.
Eben: Ein Eintrag: von x bis y um 15:00 im Kinosaal A
und einen: von x bis y um 20:00 im Kinosaal B
Evtl. kann es auch vorkommen, das ein Kinobetreiber einen Film nur einmalig bzw. nur an einem Termin vorführen will.
Hierbei wäre es ratsam, wenn du die Bedienerschnittstelle so konstruieren würdest, dass der Kinobetreiber zwischen einmalig und Zeitraum auswählen kann. Das Programm hinter der Oberfläche könnte dann für eine einmalige Vorführung für "Tag_Start" und "Tag_Ende" die selben Werte speichern.
[...]
Die beiden Tabellen habe ich genau so implementiert gehabt!
Immer beruhigend wenn es jemand genau so gemacht hätte.
Danke für deine Idee!
Bitte, gern geschehen.
Grüsse,
Sky
Hi,
+----------+
| Kinosaal |
+----------+--------+
| ID |
| Kinobetreiber_ID |
| Name |
| Stockwerk |
| Sitzplätze |
+-------------------+
ich finde die Datenstruktur von Sky eigentlich auch ganz gut. Ich würde nur zum Kinosaal noch eine zusätzlich Information einbauen (die Anzahl der Plätze), damit - vielleicht später mal - eine automatische Anzeige der freien Plätze ausgegeben werden kann, wenn der Verkauf auch Computergestützt läuft.
Thats All Folks
eb4
Hallo!
Tolle Idee, dann aber auch bitte nach Kategorie geordnet ;-)
Gruß
Matthias
Hallo eb4!
ich finde die Datenstruktur von Sky eigentlich auch ganz gut.
Danke!
Ich würde nur zum Kinosaal noch eine zusätzlich Information einbauen (die Anzahl der Plätze),
damit - vielleicht später mal - eine automatische Anzeige der freien Plätze ausgegeben werden
kann, wenn der Verkauf auch Computergestützt läuft.
Ich würde jedoch eine Weitere Tabelle "Sitzplatz" hinzufügen und diesem mit der Tabelle "Kinosaal" verknüpfen.
Schließlich haben Sitzplatze auch Nummern, Postionen/Reihe. Bei einer Reservierung will man ggf. falls auch einen bestimmten Sitzplatz reservieren. (Dies ist aber in vielen kleinen Kinos nicht die Praxis, dort wird einfach ein Platz ohne Nummer reserviert bzw. verkauft.)
Grüsse,
Sky