ఈ రోజు మా పని హైబర్నేట్ అంశంపై రెండవ ప్రాజెక్ట్ను పూర్తి చేయడం. డేటాబేస్ యొక్క నిర్మాణాన్ని అర్థం చేసుకోవడం, ఇప్పటికే ఉన్న పట్టికలకు ఎంటిటీని మ్యాప్ చేయడం మరియు మ్యాపింగ్ సరిగ్గా జరిగిందో లేదో తనిఖీ చేయడానికి కనీస కార్యాచరణను జోడించడం దీని సారాంశం.
ఇప్పుడు మరింత వివరంగా:
- డంప్ ఫైల్ను డౌన్లోడ్ చేసి , దాన్ని మీ స్థానిక మెషీన్లో అమర్చండి. డేటాబేస్గా, మేము పరీక్ష డేటాబేస్ను ఉపయోగిస్తాము, ఇది MySQL ఇన్స్టాలేషన్ ప్యాకేజీతో పాటు ఉదాహరణగా పంపిణీ చేయబడుతుంది. డేటాబేస్ యొక్క స్థితిని సరిచేయడానికి డంప్ అవసరం, ఎందుకంటే ఇది ఒక రోజు, నెల, సంవత్సరంలో మారదని మేము హామీ ఇవ్వలేము.
- మాకు ప్రాజెక్ట్ టెంప్లేట్ ఉండదు, కాబట్టి ప్రాజెక్ట్ను మీరే సృష్టించండి. ఇది అవసరమైన అన్ని డిపెండెన్సీలతో కూడిన మావెన్ ప్రాజెక్ట్ అయి ఉండాలి ( hibernate-core-jakarta , mysql-connector-java , p6spy ).
- ఐడియాలో డేటాసోర్స్గా మా లోకల్ డెప్లైడ్ డేటాబేస్ని ప్లగ్ చేయండి. ఆ తర్వాత, డేటాబేస్ ట్యాబ్లో, కర్సర్ను మూవీ స్కీమాపై ఉంచండి మరియు కీ కలయికను నొక్కండి
Alt+Ctrl+Shift+U
(అల్టిమేట్ వెర్షన్లో మాత్రమే పనిచేస్తుంది). ఇది మొత్తం మూవీ స్కీమా (కాలమ్ పేర్లు, కీలు మొదలైన వాటితో) నిర్మాణాన్ని చూపుతుంది. ఇలా కనిపిస్తుంది:నేను అంగీకరిస్తున్నాను, ఇది చూడటానికి చాలా సౌకర్యంగా లేదు. అన్ని నిలువు వరుసలు మరియు వ్యాఖ్యల శీర్షిక ప్రదర్శనను ఆఫ్ చేయండి:
ఫలితంగా, మీరు ఇప్పటికే విశ్లేషించగల డేటాబేస్ స్కీమాను పొందుతారు:
- సర్క్యూట్ సంక్లిష్టంగా కనిపిస్తుంది, కానీ ప్రతిదీ చాలా చెడ్డది కాదు. డేటాబేస్ యొక్క నిర్మాణాన్ని విశ్లేషించడానికి, మీరు ఎక్కడ ప్రారంభించాలో కనుగొనాలి. ఏ ఒక్క సరైన సమాధానం లేదు, కానీ నేను పట్టికతో ప్రారంభించాలని సిఫార్సు చేస్తాను
film
. ఉదాహరణగా కొన్ని సంబంధాలను తీసుకుందాం:- పట్టికల మధ్య సంబంధం
film
మరియుfilm_text
స్పష్టమైన OneToOne సంబంధం , ఎందుకంటే టేబుల్కిfilm_text
ఫీల్డ్film_id
ఉందికాదుపట్టిక నుండి IDని సూచిస్తుందిfilm
(విదేశీ కీ లేదు). కానీ పేరు మరియు తర్కం ప్రకారం, ఈ కనెక్షన్ ఉండాలి. అదనంగా, పట్టికలో,film_text
ఫీల్డ్film_id
ప్రాథమిక కీగా పనిచేస్తుంది, ఇది ఒక "సినిమా" ఒకటి కంటే ఎక్కువ "ఫిల్మ్ టెక్స్ట్"కి అనుగుణంగా లేదని హామీ ఇస్తుంది. - ఇప్పుడు పట్టికలను చూద్దాం
film
మరియుcategory
. తార్కికంగా, ఒక చలన చిత్రం అనేక వర్గాలను కలిగి ఉంటుంది. మరియు ఒక వర్గం, బహుశా విభిన్న చిత్రాలు. అదనంగా, ఈ రెండు పట్టికల మధ్య ఇంటర్మీడియట్ లింక్ టేబుల్ ఉందిfilm_category
. పైన పేర్కొన్న అన్నింటి ఆధారంగా, ఇది చాలా మందికి స్పష్టమైన సంబంధం . - మేము పట్టికలు
film
మరియుlanguage
. లాజిక్ దృష్ట్యా, చిత్రం వివిధ భాషలలోకి అనువాదం కలిగి ఉండవచ్చు మరియు విభిన్న చిత్రాలు ఒకే భాషలో ఉండవచ్చు. అంటే, ManyToMany స్వయంగా సూచించింది . కానీ మనం టేబుల్లోని కంటెంట్లను పరిశీలిస్తేfilm
, టేబుల్లోని ప్రతి అడ్డు వరుస ప్రత్యేకమైన చలనచిత్రంగా ఉన్నట్లు మనం చూడవచ్చు. మరియు లైన్లో ఒక language_id ఫీల్డ్ మాత్రమే ఉంది (ఒరిజినల్_లాంగ్వేజ్_ఐడి కూడా ఉంది, కానీ అన్ని రికార్డ్లలో అది శూన్యం, కాబట్టి మనం దానిని విస్మరించవచ్చు). అంటే ఒక సినిమాకి ఒకే భాష ఉంటుంది. మరియు ఒక భాష, బహుశా విభిన్న చిత్రాలు. కనెక్షన్ ManyToOne (అనుసంధానం చిత్రం నుండి భాషకు దర్శకత్వం వహించబడుతుంది).
- పట్టికల మధ్య సంబంధం
- ఇప్పుడు ప్రధాన పని ఏమిటంటే అవసరమైన అన్ని ఎంటిటీ తరగతులను సృష్టించడం మరియు వాటిని స్కీమా పట్టికలలో మ్యాప్ చేయడం
movie
. - అన్ని డిపెండెంట్ ఫీల్డ్లతో కొత్త కస్టమర్ను (కస్టమర్ టేబుల్) సృష్టించగల పద్ధతిని జోడించండి. పద్ధతిని లావాదేవీగా చేయడం మర్చిపోవద్దు (కొనుగోలుదారు యొక్క చిరునామా డేటాబేస్లో నమోదు చేయబడిన పరిస్థితిలోకి రాకుండా ఉండటానికి, కానీ కొనుగోలుదారు స్వయంగా కాదు).
- "కస్టమర్ వెళ్లి, గతంలో అద్దెకు తీసుకున్న చలనచిత్రాన్ని తిరిగి ఇచ్చాడు" ఈవెంట్ను వివరించే లావాదేవీ పద్ధతిని జోడించండి. మీకు నచ్చిన ఏదైనా కొనుగోలుదారు మరియు అద్దె ఈవెంట్ను ఎంచుకోండి. సినిమా రేటింగ్ను మళ్లీ లెక్కించాల్సిన అవసరం లేదు.
- “కొనుగోలుదారు దుకాణానికి (స్టోర్) వెళ్లి, అక్కడ అద్దెకు తీసుకున్న (అద్దె) జాబితా (ఇన్వెంటరీ) ఈవెంట్ను వివరించే లావాదేవీ పద్ధతిని జోడించండి. అదే సమయంలో, అతను విక్రేత (సిబ్బంది)కి చెల్లింపు (చెల్లింపు) చేసాడు. ఫిల్మ్ (ఇన్వెంటరీ ద్వారా) మీ అభీష్టానుసారం ఎంచుకోండి. సినిమా అద్దెకు అందుబాటులో ఉండాలనేది ఒక్కటే పరిమితి. అంటే, అద్దెలో ఇన్వెంటరీ రికార్డులు ఉండకూడదు లేదా ఈ ఇన్వెంటరీ యొక్క చివరి అద్దె కోసం పట్టిక యొక్క రిటర్న్_డేట్
rental
కాలమ్ని పూరించాలి. - "కొత్త సినిమా చిత్రీకరించబడింది మరియు అది అద్దెకు అందుబాటులోకి వచ్చింది" అనే ఈవెంట్ను వివరించే లావాదేవీ పద్ధతిని జోడించండి. సినిమా, భాష, నటీనటులు, వర్గాలు మొదలైనవాటిని మీ అభీష్టానుసారం ఎంచుకోండి.
- పట్టిక నిర్మాణాన్ని మార్చడం సాధ్యం కాదు. కానీ మీరు మెరుగుపరచడానికి సూచనలు చేయాలి. మేము పేరా 4లో ఒక సమస్యాత్మక స్థలాన్ని గుర్తించాము (టేబుల్ ఫీల్డ్లోని పట్టికలో విదేశీ కీ లేకపోవడం ). డేటాబేస్ నిర్మాణంలో ఇంకా అలాంటి "బ్లెండర్లు" ఉన్నాయో లేదో చూడండి. అలా అయితే, ప్రాజెక్ట్ యొక్క మూలానికి రీడ్మీ ఫైల్ను జోడించి, ఈ తప్పులను వివరించండి.
film_text
film_id
film
ప్రాజెక్ట్ విశ్లేషణ: