Schrift
[thread]6232[/thread]

hierarchie: sinnvoll speichern?



<< |< 1 2 >| >> 16 Einträge, 2 Seiten
Free Faq
 2004-05-05 20:05
#82004 #82004
User since
2003-09-10
141 Artikel
BenutzerIn
[default_avatar]
Sagen wir mal, man hat eine Datenbank. Mit vielen vielen Untergruppen. Hab hier mal was zusammengestellt, was mir gerade schnell durch den kopf ging:

Quote
Software - Einführungstext - Kompletter Text
+Windows - Einführungstext - Kompletter Text
++Software - Einführungstext - Kompletter Text
+++Grafikprogramme - Einführungstext - Kompletter Text
+++Sicherheitsprogramme - Einführungstext - Kompletter Text
++Games - Einführungstext - Kompletter Text
+Linux - Einführungstext - Kompletter Text
+MacOS - Einführungstext - Kompletter Text
+DOS - Einführungstext - Kompletter Text
Hardware - Einführungstext - Kompletter Text
+Hardware - Einführungstext - Kompletter Text
++Mainboard - Einführungstext - Kompletter Text
++Grafikkarte - Einführungstext - Kompletter Text
+++AGP-Karte - Einführungstext - Kompletter Text
+++PCI-Karte - Einführungstext - Kompletter Text
+Zubehör - Einführungstext - Kompletter Text


Wie würdet ihr das Sinnvoll speichern? Mit dem Speichern der einzelnen Gruppen ist mir schon klar, aber wie kann ich am besten sagen, das und das sind Untergruppen von dem.
Würdet ihr alle Gruppen einzeln speichern und dann eine Art zuordnungstabelle machen? Wenn ja wie würdet ihr die aufbauen?
Hoffe ihr wisst, was ich meine.

Und kleine Frage so am Rande:
Wenn ihr irgendwelche Daten in Dateien speichern müsst,
speichert ihr diese dann als Variablen/ Array,...
oder ala:
Name|Adresse|Email|...
Haut mich nicht, ich bin ein Noob!
Ronnie
 2004-05-05 20:21
#82005 #82005
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Für diese Art (hierarchisch) von Daten kannst du auch XML oder YAML nehmen. Intern hast du dann als Repräsentation HoH's bzw. HoA's.
ptk
 2004-05-05 20:40
#82006 #82006
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
YAML kann ich nur unterstuetzen, dort sieht so eine Struktur relativ "natuerlich" aus. Hier ein Beispiel:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
- name: Software
intro: Einfuehrungstext
text: Kompletter Text
sub:
- name: Windows
intro: Einfuehrungstext
text: Kompletter Text
sub:
- name: Software
intro: Einfuehrungstext
text: Kompletter Text
sub:
- name: Grafikprogramme
intro: Einfuehrungstext
text: Kompletter Text
- name: Sicherheitsprogramme
intro: Einfuehrungstext
text: Kompletter Text
- name: Games
intro: Einfuehrungstext
text: Kompletter Text
- name: Linux
intro: Einfuehrungstext
text: Kompletter Text

Wenn man es in Perl laedt bekommt man ein AoH.
format_c
 2004-05-05 23:02
#82007 #82007
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Oder LDAP

Gruß Alex
betterworld
 2004-05-05 23:26
#82008 #82008
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
use strict;
use Data::Dumper;

my @DATA = <DATA>;

sub nextgroup {
my @ret;
while(1) {
return @ret unless @DATA;
chomp $DATA[0];
local $_ = $DATA[0];
/^(\+*)/;
my $tiefe = length($1);
if ($tiefe == $_[0]) {
push @ret, { descr => shift @DATA, unter => [nextgroup($_[0] + 1)] };
} elsif ($tiefe > $_[0]) {
die "geht ja wohl nich";
} else {
return @ret;
}
}
}


my @baum = nextgroup (0);
print Dumper(\@baum);

#### hier muss _ _ D A T A _ _ stehen, aber das Forum will das nicht in einem wort
Software - Einführungstext - Kompletter Text
+Windows - Einführungstext - Kompletter Text
++Software - Einführungstext - Kompletter Text
+++Grafikprogramme - Einführungstext - Kompletter Text
+++Sicherheitsprogramme - Einführungstext - Kompletter Text
++Games - Einführungstext - Kompletter Text
+Linux - Einführungstext - Kompletter Text
+MacOS - Einführungstext - Kompletter Text
+DOS - Einführungstext - Kompletter Text
Hardware - Einführungstext - Kompletter Text
+Hardware - Einführungstext - Kompletter Text
++Mainboard - Einführungstext - Kompletter Text
++Grafikkarte - Einführungstext - Kompletter Text
+++AGP-Karte - Einführungstext - Kompletter Text
+++PCI-Karte - Einführungstext - Kompletter Text
+Zubehör - Einführungstext - Kompletter Text
\n\n

<!--EDIT|betterworld|1083785365-->
Free Faq
 2004-05-05 23:37
#82009 #82009
User since
2003-09-10
141 Artikel
BenutzerIn
[default_avatar]
Hehe danke betterworld, aber das war jetzt nur als veranschaulichung gedacht gewesen. Habe eigendlich nicht vor, dies so zu speichern.
XML kommt wohl weniger in Frage, da die Daten nciht eingesehen werden dürfen (Es werden auch einstellungen in den Dateien vorhanden sein) und XML ist soweit ICH weiss quelltextmässig einsehbar.
Werde mir aber mal YAML angucken.
THX
Haut mich nicht, ich bin ein Noob!
betterworld
 2004-05-05 23:42
#82010 #82010
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Du kannst ja auch einfach das Output von Data::Dumper in eine Datei speichern. Die kann man dann requiren :)
Ist allerdings nicht gerade effizient und platzsparend
Taulmarill
 2004-05-06 13:07
#82011 #82011
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
was meinst du damit, dass die daten nicht eingesehen werden dürfen?
jeder der deine benutzerrechte auf deinem rechner hat wird alle daten einsehen können die du zu speichern in der lage bist.

zur struktur,
wenn dir nix besseres einfällt kannst du jedem datensatz eine eindeutige nummer und ein parent feld zuweisen. über den parent identifiziert man den datensatz eine ebene höher und kann so die hirarchie aufbauen.
aber ich würde an deiner stelle mal schauen ob es nicht ein modul gibt, welches deinen anforderungen gerechte wird.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
ptk
 2004-05-06 13:48
#82012 #82012
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=betterworld,05.May.2004, 21:42]Du kannst ja auch einfach das Output von Data::Dumper in eine Datei speichern. Die kann man dann requiren :)
Ist allerdings nicht gerade effizient und platzsparend[/quote]
Warum nicht? Wenn man $Data::Dumper::Indent=0 setzt, dann kann man es kaum noch kleiner machen. Und der Perl-Parser ist ja nicht gerade langsam. Aber wenn man es einen Tick schneller (und unleserlicher) haben will, dann sollte man Storable verwenden.
lichtkind
 2004-05-06 14:56
#82013 #82013
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
also ich benutzte für so was
Config::General auch wenn das manchem hier übertrieben scheint.
kommt drauf an was du noch mit dem program vor hast
http://search.cpan.org/~tlinden/Config-General/General.pm
speicheret im apache conf format
nem sinnigem gemsich aus xml und ini
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2004-05-05 20:05.