Hoe kan ik het beste entiteiten met elkaar verbinden?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Bert  Van der Ven

Bert Van der Ven

25/04/2017 19:07:38
Quote Anchor link
Hallo mede programmeurs
Ik heb een opdracht van school gehad van het opzetten van en database voor een makelaar. Ik moet programma schrijven die gegevens op haalt en uitwisselt met de database.

De voorwaarden zijn:
• Gegevens over klanten, die huis te koop zetten
• Gegeven over klanten die een zoekopdracht hebben gegeven
• Gegevens over het woning aanbod van verschillende makelaars
• Gegevens van het woningaanbod van de makelaar zelf.

Mijn probleem is dat ik niet weet hoe ik de entiteiten op een goede manier met elkaar kan verbinden. Ik weet dat het moet met primaire en foreign keys, maar ik weet niet hoe ze op een goede manier met elkaar verbind. Ik weet dat ik minimaal 4 entiteiten heb: klant, woningen, verkochte/verhuurde woningen, makelaars.
Hoe verbind ik de entiteiten zonder redundante gegevens te krijgen?

Bedankt voor uw tijd
Met vriendelijke groet,
Bert.
 
PHP hulp

PHP hulp

08/05/2024 14:19:20
 
Eddy E

Eddy E

26/04/2017 20:25:32
Quote Anchor link
Klant krijg een klant_id + extra gegevens
Zoekopdracht = zoekopdracht_id + klant_id + zoekterm
Alle zoekopdrachten van "Eddy" -->

SELECT z.zoektermen
FROM zoekopdrachten AS z
JOIN LEFT klanten AS k
ON z.klant_id = k.klant_id
WHERE k.naam = "Eddy"
 
Frank Nietbelangrijk

Frank Nietbelangrijk

27/04/2017 18:50:13
Quote Anchor link
>> Ik weet dat ik minimaal 4 entiteiten heb: klant, woningen, verkochte/verhuurde woningen, makelaars.

Verkochte en/of verhuurde woningen zijn ook woningen toch. Hiervoor hoef je geen extra entity aan te maken. een Kolom in de tabel met een naam als "Status" is hiervoor voldoende.

Ik kan je vraag op twee manieren opvatten. Op PHP niveau of op Database niveau?

Eddy heeft je al een voorzet gegeven voor de database. Je kunt je database nog wel voorzien van wat beperkingen zoals dat een klant niet verwijderd mag worden als er nog woningen aan gekoppeld zitten etc..

In PHP kan de entity Klant een array met Woningen krijgen, een array van Woning objects dus.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?php
class Client
{
    /**
     * @var int
     */

    private $id;

    /**
     * @var string
     */

    private $name;

    // more properties ...

    /**
     * @var array
     */

    private $houses;

    
    public function __construct()
    {

        $this->houses = [];
    }



    /**
     * Get id
     *
     * @return int
     */

    public function getId()
    {

        return $this->id;
    }


    /**
     * Set name
     *
     * @param string $name
     *
     * @return Client
     */

    public function setName($name)
    {

        $this->name = $name;

        return $this;
    }


    /**
     * Get name
     *
     * @return string
     */

    public function getName()
    {

        return $this->name;
    }


    /**
     * Add house
     *
     * @param $house
     *
     * @return Client
     */

    public function addHouse($house)
    {

        $this->houses[] = $house;

        return $this;
    }


    /**
     * Remove house
     *
     * @param $house
     */

    public function removeHouse($house)
    {

        // find the house and remove it out of the array $this->houses
    }

    /**
     * Get houses
     *
     * @return array
     */

    public function getHouses()
    {

        return $this->houses;
    }
}

?>


Toevoeging op 27/04/2017 18:53:57:

p.s. Ik weet niet of je third party extensies mag gebruiken? In dat geval zou je kunnen overwegen om Doctrine ORM te gebruiken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.