Find Jobs
Hire Freelancers

Design a Database for a Classified Adverts Website

$10-30 USD

Chiuso
Pubblicato circa 5 anni fa

$10-30 USD

Pagato al completamento
Classified adverts are organised into classifications, for example motor cars, rooms for rent, baby clothes etc. and each classification uses different features to describe items. Cars have make and model, clothes have sizes, etc. Note that each user can only have one account – there is no need for a buyer’s account and a separate seller’s account for the same person. a. Items for sale in a classified advert system have different features depending on their classification. Explain why this is a problem for a relational database and suggest two possible solutions to the problem. Compare the two solutions, giving advantages and disadvantages of each. Say which you would choose. b. Design a set of normalised relations for storing data about people, objects for sale, transactions and messages. For each relation choose a primary key and explain the reasons behind the choice. Highlight the foreign keys in your design. Explain whether your design is in second or third normal form and say why you chose that level of normalisation. You needn’t include every possible field (don’t worry about product features, for example), just show some example fields for each table. c. Draw an entity relation (ER) diagram for the normalised relations you have designed. There is no need to show non-key fields, but show primary and foreign keys and the cardinality of their relationship. Clearly state any assumptions you have made. d. Give an example of the SQL code needed to select the names of the buyer and the seller of an example item if the item ID is known. The code should implement a join. 2. Now consider a NoSQL solution to the same problem. a. Referring to your answer to part a. in question 1, explain how a document database such as MongoDB offers a solution to the classified advert problem. b. Describe two use cases for your database in terms of the task a user will want to perform, the data that will be accessed, and how often the task will be performed. c. People, objects and classifications are three potential aggregates that could be used for the database. Explain what this means and compare the advantages and disadvantages of using each of the suggested aggregates in a classified advert database. Refer to the use cases you gave in part b. above. d. MongoDB is a schemaless database. Describe what that means and then discuss what, if any, restrictions you might choose to impose on documents describing objects for sale. Say how these restrictions would be imposed and discuss the advantages and disadvantages of doing so. e. Thinking about the entries for objects for sale, discuss which fields you would index on. What would indexing gain for your website and why wouldn’t you simply index every field? f. Imagine your database grows very large and is stored over a cluster. You will need to employ sharding to split the data up. Explain what this means and discuss which field(s) it would be sensible to use as a shard key. If you now realise that you need a field that you haven’t mentioned yet, that is fine. Introduce it into the design now and explain why it is needed. g. Messages can be sent between two people (usually a buyer and a seller). Discuss different options for storing messages and linking each message to the people who sent and received it. Propose three different options and say which of the three you would choose, and why. In your discussion, refer to particular use cases such as listing all the messages a person has sent and consider the efficiencies of the different design choices you propose. 3. Now that you have two designs, one for SQL and one for NoSQL, discuss the relative merits of each and say which approach you would choose for the database behind a classified advert website.
Rif. progetto: 18898685

Info sul progetto

5 proposte
Progetto a distanza
Attivo 5 anni fa

Hai voglia di guadagnare un po'?

I vantaggi delle offerte su Freelancer

Imposta il tuo budget e le scadenze
Fatti pagare per il lavoro svolto
Delinea la tua proposta
La registrazione e le offerte sui lavori sono gratuite
5 freelance hanno fatto un'offerta media di $27 USD
Avatar dell'utente
Hi, your project went across my profile, I am doing my bid because I am eligible and taking the initiative to start this project, I am a professional full stack developer. please come over private chat and give me the access and other details. please feel free to ask anything. regards Ammar Qureshi
$50 USD in 1 giorno
4,8 (14 valutazioni)
4,4
4,4
Avatar dell'utente
Hi We are team of fulltime freelancers having 10+ years of experience in website development and application development. We can hell you with developing classified site. Kindly initiate communication to discuss further details Thanks
$15 USD in 45 giorni
4,8 (9 valutazioni)
3,6
3,6
Avatar dell'utente
Hi I have reviewed your requirements for your preconceived project As all your requirements are crystal clear to me so i would like to discuss your project querries in more detail which would let me to quote you the actual cost and suggest you more ideas over it. We'll be providing you with our updated portfolio after you hit up with a reply Regards Fsd Team
$25 USD in 1 giorno
0,0 (0 valutazioni)
0,0
0,0
Avatar dell'utente
Professionally done MySQL, PL/SQL RDBMS. i would like to work with you. If you agree let me know. I currently working with IT Training center.
$20 USD in 5 giorni
0,0 (0 valutazioni)
0,0
0,0
Avatar dell'utente
♣ About 7+ years of Professional Experience as a Java Application Developer. ♣ Wide experience using Open Source frameworks and other areas of the Spring Boot, Hibernate, Spring Data JPA, REST, Angular, Service Oriented Architecture(SOA) ♣ Applicable experience in analysis, design, development, integration and maintenance of enterprise applications using platform-independent Object-Oriented Programming. ♣ Working on Insurance Policy Rule based Application with spring Framework, Spring Web Flow. ♣ Used to Agile Methodology. Maintaining Standup, 3 amigos, 2-week Sprint and monthly release. ♣ Expert on IntelliJ, IBM RAD, Eclipse, WebSphere Application Server and Jenkins, Hudson. ♣ Extensively worked of the following technologies: XML, UML, JSP and relational databases. ♣ Worked extensively on Java platform and advanced Java technologies like JDBC and Servlet. ♣ Widely worked on RDMS(Oracle, MySQL, MS SQL) & NoSQL(MongoDB, Cassandra, DynamoDB). ♣ Working on architecture Design pattern, OOAD, Use cases diagrams and UML. ♣ Strong experience in Web Application GUI Development using jQuery, HTML, CSS, JavaScript. ♣ Experienced of end user req. analysis, SOA and full Software Development Life Cycle (SDLC). ♣ Solid Object-Oriented Programming Skills in Advanced Software Development using Java. ♣ Hands-on experience on Service Oriented Architecture (SOA) and web services with SOAP, REST API, AWS (SQS, SES, SNS, EC2, Lambda & Cognito).
$25 USD in 1 giorno
0,0 (0 valutazioni)
0,0
0,0

Info sul cliente

Bandiera: FRANCE
SAINT ETIENNE, France
0,0
0
Metodo di pagamento verificato
Membro dal gen 8, 2018

Verifica del cliente

Grazie! Ti abbiamo inviato tramite email il link per richiedere il tuo bonus gratuito.
Non è stato possibile inviarti l'email. Riprova per piacere.
di utenti registrati di lavori pubblicati
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Caricamento anteprima
Autorizzazione per la geolocalizzazione concessa.
La tua sessione è scaduta ed è stato effettuato il log out. Accedi nuovamente per piacere.