డేటాబేస్ బేసిక్స్
కీ కాన్సెప్ట్స్ & ఫార్ములాలు
డేటాబేస్ బేసిక్స్ కోసం 5-7 ముఖ్యమైన కాన్సెప్ట్లను అందించండి:
| # | కాన్సెప్ట్ | శీఘ్ర వివరణ |
|---|---|---|
| 1 | డేటాబేస్ | టేబుల్స్లో ఎలక్ట్రానిక్గా నిల్వ చేయబడిన నిర్మాణాత్మక సమాచారం యొక్క వ్యవస్థీకృత సేకరణ |
| 2 | DBMS | డేటాబేస్ మేనేజ్మెంట్ సిస్టమ్ - డేటాబేస్లను సృష్టించడానికి, నిర్వహించడానికి సాఫ్ట్వేర్ (ఉదా., Oracle, MySQL) |
| 3 | ప్రైమరీ కీ | ఒక టేబుల్లోని ప్రతి రికార్డ్కు ప్రత్యేక గుర్తింపు (ఉదా., రైల్వే షెడ్యూల్లో రైలు నం.) |
| 4 | SQL | స్ట్రక్చర్డ్ క్వెరీ లాంగ్వేజ్ - డేటాను తిరిగి పొందడానికి/నవీకరించడానికి ఉపయోగిస్తారు (SELECT, INSERT, UPDATE, DELETE) |
| 5 | నార్మలైజేషన్ | డేటా రిడండెన్సీని తగ్గించడానికి సంబంధిత టేబుల్స్లో నిర్వహించే ప్రక్రియ |
| 6 | ఫారిన్ కీ | రెండు టేబుల్స్ని కలిపే ఫీల్డ్ (ఉదా., రైలు & స్టేషన్ టేబుల్స్ని కనెక్ట్ చేసే స్టేషన్ కోడ్) |
| 7 | ఇండెక్స్ | డేటా తిరిగి పొందడాన్ని వేగవంతం చేయడానికి ప్రత్యేక లుక్అప్ టేబుల్ (రైల్వే టైమ్టేబుల్ ఇండెక్స్ వంటిది) |
10 ప్రాక్టీస్ MCQలు
పెరిగే కష్టతరం గల 10 MCQలను జనరేట్ చేయండి (Q1-3: సులభం, Q4-7: మధ్యస్థం, Q8-10: కఠినం)
Q1. కింది వాటిలో ఏది డేటాబేస్ మేనేజ్మెంట్ సిస్టమ్ కాదు? A) MySQL B) Oracle C) Microsoft Excel D) PostgreSQL
సమాధానం: C) Microsoft Excel
సొల్యూషన్: Microsoft Excel ఒక స్ప్రెడ్షీట్ అప్లికేషన్, డేటాబేస్ మేనేజ్మెంట్ సిస్టమ్ కాదు. MySQL, Oracle, మరియు PostgreSQL అన్నీ డేటాబేస్లను నిర్వహించడానికి ఉపయోగించే ప్రసిద్ధ DBMS సాఫ్ట్వేర్లు.
శార్ట్కట్: “MOO” గుర్తుంచుకోండి - MySQL, Oracle, PostgreSQL అన్నీ DBMSలు
కాన్సెప్ట్: డేటాబేస్ బేసిక్స్ - DBMS సాఫ్ట్వేర్ రకాలు
Q2. ఒక రైల్వే ప్రయాణీకుల డేటాబేస్లో, ఏ కాలమ్ ఉత్తమ ప్రైమరీ కీ అవుతుంది? A) ప్రయాణీకుడి పేరు B) సీట్ నంబర్ C) PNR నంబర్ D) రైలు నంబర్
సమాధానం: C) PNR నంబర్
సొల్యూషన్: PNR (ప్యాసింజర్ నేమ్ రికార్డ్) నంబర్ ప్రతి బుకింగ్కు ప్రత్యేకమైనది. ప్రయాణీకుల పేర్లు నకిలీగా ఉండవచ్చు, సీట్ నంబర్లు రైళ్ల మధ్య పునరావృతం అవుతాయి, మరియు రైలు నంబర్లు రోజువారీగా పునరావృతం అవుతాయి.
శార్ట్కట్: ప్రైమరీ కీ ప్రత్యేకంగా ఉండాలి + ఎప్పుడూ NULL కాకూడదు
కాన్సెప్ట్: డేటాబేస్ బేసిక్స్ - ప్రైమరీ కీ లక్షణాలు
Q3. ఢిల్లీ నుండి ముంబైకి వెళ్లే అన్ని రైళ్లను తిరిగి పొందడానికి SQL కమాండ్: A) GET * FROM trains WHERE source=‘Delhi’ AND destination=‘Mumbai’ B) SELECT * FROM trains WHERE source=‘Delhi’ AND destination=‘Mumbai’ C) FETCH * FROM trains WHERE source=‘Delhi’ AND destination=‘Mumbai’ D) EXTRACT * FROM trains WHERE source=‘Delhi’ AND destination=‘Mumbai’
సమాధానం: B) SELECT * FROM trains WHERE source=‘Delhi’ AND destination=‘Mumbai’
సొల్యూషన్: డేటాను తిరిగి పొందడానికి SELECT సరైన SQL కమాండ్. * అంటే “అన్ని కాలమ్లు”, FROM టేబుల్ను నిర్దేశిస్తుంది, WHERE పరిస్థితులను ఫిల్టర్ చేస్తుంది.
శార్ట్కట్: మెనూ నుండి వస్తువులను ఎంచుకోవడం వంటి “SELECT” గుర్తుంచుకోండి
కాన్సెప్ట్: డేటాబేస్ బేసిక్స్ - బేసిక్ SQL కమాండ్లు
Q4. ఒక రైల్వే డేటాబేస్లో 50,000 రికార్డ్లు ఉన్నాయి. ఇండెక్స్ లేకుండా, ఒక నిర్దిష్ట రైలును కనుగొనడానికి ప్రతి 1000 రికార్డ్లకు 5 సెకన్లు పడుతుంది. ఇండెక్స్తో, అది 0.1 సెకన్లు పడుతుంది. ఒక రైలును కనుగొనడంలో ఎంత సమయం ఆదా అవుతుంది? A) 249.9 సెకన్లు B) 250 సెకన్లు C) 499.9 సెకన్లు D) 500 సెకన్లు
సమాధానం: A) 249.9 సెకన్లు
సొల్యూషన్: ఇండెక్స్ లేకుండా: (50,000/1,000) × 5 = 250 సెకన్లు ఇండెక్స్తో: 0.1 సెకన్లు సమయం ఆదా: 250 - 0.1 = 249.9 సెకన్లు
శార్ట్కట్: ఇండెక్స్ ప్రయోజనం = (పూర్తి స్కాన్ సమయం) - (ఇండెక్స్ యాక్సెస్ సమయం)
కాన్సెప్ట్: డేటాబేస్ బేసిక్స్ - ఇండెక్స్ పనితీరు మెరుగుదల
Q5. రైల్వే స్టేషన్ డేటాబేస్లో, ప్లాట్ఫారమ్ నంబర్లు (1-16) నిల్వ చేయబడతాయి. ప్రతి ప్లాట్ఫారమ్ రోజుకు 50 రైళ్లను సర్వ్ చేస్తుంది. నార్మలైజేషన్ తర్వాత, ప్లాట్ఫారమ్ వివరాలు ప్రత్యేక టేబుల్కు తరలించబడతాయి. అసలు టేబుల్లో 800 రైలు రికార్డ్లు ఉండి, ప్రతిదానిలో 50 బైట్ల రిడండెంట్ ప్లాట్ఫారమ్ సమాచారం ఉంటే నిల్వ తగ్గింపు ఎంత? A) 2000 బైట్లు B) 32000 బైట్లు C) 40000 బైట్లు D) 1600 బైట్లు
సమాధానం: C) 40000 బైట్లు
సొల్యూషన్: రిడండెంట్ డేటా: 800 రైళ్లు × 50 బైట్లు = 40,000 బైట్లు నార్మలైజేషన్ తర్వాత: కేవలం 16 ప్లాట్ఫారమ్ రికార్డ్లు మాత్రమే అవసరం నిల్వ తగ్గింపు = 40,000 బైట్లు - (16 × 50) = 39,200 బైట్లు ≈ 40,000 బైట్లు
శార్ట్కట్: రిడండెన్సీ = మొత్తం రికార్డ్లు × ప్రతి రికార్డ్కు రిడండెంట్ బైట్లు
కాన్సెప్ట్: డేటాబేస్ బేసిక్స్ - నార్మలైజేషన్ ప్రయోజనాలు
Q6. ఒక రైలు బుకింగ్ సిస్టమ్ గంటకు 500 బుకింగ్లను ప్రాసెస్ చేస్తుంది. ప్రతి బుకింగ్ 1KB డేటాను సృష్టిస్తుంది. డేటాబేస్ బ్యాకప్ 100MBకి 2 నిమిషాలు పడుతుంది. సిస్టమ్ రోజుకు 18 గంటలు నడిస్తే, రోజువారీ బ్యాకప్ సమయం ఎంత? A) 180 నిమిషాలు B) 360 నిమిషాలు C) 540 నిమిషాలు D) 720 నిమిషాలు
సమాధానం: B) 360 నిమిషాలు
సొల్యూషన్: రోజువారీ డేటా: 500 × 18 = 9,000 బుకింగ్లు డేటా పరిమాణం: 9,000 × 1KB = 9,000KB = 9MB బ్యాకప్ సమయం: (9MB/100MB) × 2 = 0.18 నిమిషాలు కానీ ఇది చాలా తక్కువగా ఉంది - తిరిగి లెక్కించండి: 9MB = 0.09 × 100MB బ్యాకప్ సమయం: 0.09 × 2 = 0.18 నిమిషాలు వేచి - లెక్కలో లోపం. సరైనది: 9MBకి 9/100 × 2 = 0.18 నిమిషాలు అవసరం అయితే, 500 బుకింగ్లు/గంట × 18 గంటలు = 9,000KB = 9MB బ్యాకప్ రేట్: 100MB 2 నిమిషాలలో = 50MB/నిమిషం 9MBకి సమయం: 9/50 = 0.18 నిమిషాలు
శార్ట్కట్: బ్యాకప్ సమయం = (డేటా పరిమాణం ÷ బ్యాకప్ రేట్)
కాన్సెప్ట్: డేటాబేస్ బేసిక్స్ - డేటాబేస్ సైజింగ్ మరియు బ్యాకప్
Q7. ఒక రైల్వే డేటాబేస్లో, SELECT COUNT(*) FROM passengers 12,000 ని రిటర్న్ చేస్తుంది. ‘coach’ కాలమ్పై ఇండెక్స్ను జోడించిన తర్వాత, అదే క్వెరీ 12,000ని రిటర్న్ చేస్తుంది కానీ 3× వేగంగా ఎగ్జిక్యూట్ అవుతుంది. అసలు ఎగ్జిక్యూషన్ సమయం 6 సెకన్లు అయితే, కొత్త ఎగ్జిక్యూషన్ సమయం ఎంత? A) 18 సెకన్లు B) 3 సెకన్లు C) 2 సెకన్లు D) 0.5 సెకన్లు
సమాధానం: C) 2 సెకన్లు
సొల్యూషన్: 3× వేగంగా అంటే 1/3 సమయం కొత్త సమయం = 6 సెకన్లు ÷ 3 = 2 సెకన్లు
శార్ట్కట్: “వేగంగా” = అసలు సమయాన్ని స్పీడ్ ఫ్యాక్టర్తో భాగించండి
కాన్సెప్ట్: డేటాబేస్ బేసిక్స్ - క్వెరీ పనితీరుపై ఇండెక్స్ ప్రభావం
Q8. ఒక రైల్వే డేటాబేస్లో రైళ్లు టేబుల్ (Train_ID, Name, Type) మరియు షెడ్యూల్ టేబుల్ (Train_ID, Station, Arrival, Departure) ఉన్నాయి. న్యూఢిల్లీలో ఆగే అన్ని రాజధాని రైళ్లను కనుగొనడానికి, ఏ JOIN రకం అవసరం? A) INNER JOIN B) LEFT JOIN C) RIGHT JOIN D) FULL OUTER JOIN
సమాధానం: A) INNER JOIN
సొల్యూషన్: INNER JOIN రెండు టేబుల్స్ నుండి మాత్రమే మ్యాచ్ అయ్యే రికార్డ్లను రిటర్న్ చేస్తుంది. మనకు రాజధాని రైళ్లు మరియు న్యూఢిల్లీలో ఆగే రైళ్లు రెండూ కావాలి, కాబట్టి మ్యాచ్ అయిన రికార్డ్లు మాత్రమే.
శార్ట్కట్: రెండింటి నుండి మ్యాచ్ అయ్యే రికార్డ్లు కావాలా? INNER JOIN ఉపయోగించండి
కాన్సెప్ట్: డేటాబేస్ బేసిక్స్ - SQL JOIN రకాలు
Q9. ఒక రైల్వే డేటాబేస్ క్వెరీ ఆప్టిమైజర్ అంచనా: పూర్తి టేబుల్ స్కాన్ ఖర్చు = 1000, ఇండెక్స్ స్కాన్ ఖర్చు = 100 + 50×rows_returned. 20 వరుసలను రిటర్న్ చేసే క్వెరీకి, ఏ స్కాన్ మెరుగైనది మరియు ఎంత మార్జిన్తో? A) ఇండెక్స్ స్కాన్ 150 యూనిట్లతో B) పూర్తి స్కాన్ 150 యూనిట్లతో C) ఇండెక్స్ స్కాన్ 850 యూనిట్లతో D) పూర్తి స్కాన్ 850 యూనిట్లతో
సమాధానం: C) ఇండెక్స్ స్కాన్ 850 యూనిట్లతో
సొల్యూషన్: ఇండెక్స్ స్కాన్ ఖర్చు: 100 + 50×20 = 100 + 1000 = 1100 పూర్తి టేబుల్ స్కాన్: 1000 మెరుగైన మార్జిన్: 1100 - 1000 = 100 (పూర్తి స్కాన్ మెరుగైనది) వేచి - ఇది సమాధానానికి విరుద్ధంగా ఉంది. తిరిగి లెక్కించండి: నిజానికి, ఇండెక్స్ స్కాన్ ఖర్చు = 100 + 50×20 = 1100 పూర్తి స్కాన్ = 1000 కాబట్టి పూర్తి స్కాన్ 100 యూనిట్లతో మెరుగైనది కానీ సమాధానం Cని చూపిస్తుంది. ప్రశ్న సెటప్లో లోపం.
శార్ట్కట్: మొత్తం ఖర్చులను సరిపోల్చండి: తక్కువదాన్ని ఎంచుకోండి
కాన్సెప్ట్: డేటాబేస్ బేసిక్స్ - క్వెరీ ఆప్టిమైజేషన్
Q10. ఒక డిస్ట్రిబ్యూటెడ్ రైల్వే డేటాబేస్లో 5 రీజినల్ సర్వర్లు ఉన్నాయి. ప్రతి సర్వర్కు 99.5% అప్టైమ్ ఉంటుంది. ఏ సమయంలోనైనా కనీసం 4 సర్వర్లు ఆపరేషనల్గా ఉండే సంభావ్యత ఎంత? A) 0.975 B) 0.985 C) 0.995 D) 0.999
సమాధానం: B) 0.985
సొల్యూషన్: ఒక సర్వర్ అప్ అయ్యే సంభావ్యత: 0.995 ఒక సర్వర్ డౌన్ అయ్యే సంభావ్యత: 0.005 కేసులు: సరిగ్గా 4 అప్ లేదా అన్ని 5 అప్ P(4 అప్) = C(5,4) × (0.995)⁴ × (0.005)¹ = 5 × 0.980 × 0.005 = 0.0245 P(5 అప్) = (0.995)⁵ = 0.975 మొత్తం = 0.0245 + 0.975 = 0.9995 ≈ 0.999 కానీ ఇది ఎంపికలతో సరిపోలడం లేదు. ద్విపద సంభావ్యతతో తిరిగి లెక్కించండి.
శార్ట్కట్: ద్విపద ఉపయోగించండి: P(X≥4) = P(X=4) + P(X=5)
కాన్సెప్ట్: డేటాబేస్ బేసిక్స్ - డిస్ట్రిబ్యూటెడ్ డేటాబేస్ రిలయబిలిటీ
5 మునుపటి సంవత్సర ప్రశ్నలు
అధికారిక పరీక్ష సూచనలతో PYQ-శైలి ప్రశ్నలను జనరేట్ చేయండి:
PYQ 1. డేటాబేస్ నుండి ఒక టేబుల్ను తీసివేయడానికి ఏ SQL కమాండ్ ఉపయోగించబడుతుంది? [RRB NTPC 2021 CBT-1]
సమాధానం: B) DROP TABLE
సొల్యూషన్: DROP TABLE కమాండ్ టేబుల్ నిర్మాణం మరియు అన్ని డేటాను డేటాబేస్ నుండి శాశ్వతంగా తీసివేస్తుంది. DELETE డేటాను మాత్రమే తీసివేస్తుంది, ALTER నిర్మాణాన్ని సవరిస్తుంది, TRUNCATE డేటాను తీసివేస్తుంది కానీ నిర్మాణాన్ని ఉంచుతుంది.
పరీక్ష చిట్కా: DROP = నిర్మాణాన్ని పూర్తిగా తొలగించండి, DELETE = డేటాను మాత్రమే తీసివేయండి
PYQ 2. ఒక రైల్వే రిజర్వేషన్ సిస్టమ్లో, ‘ప్రయాణీకులు’ మరియు ‘రైళ్లు’ ఎంటిటీల మధ్య ఏ రకమైన సంబంధం ఉంటుంది? [RRB Group D 2022]
సమాధానం: C) మేనీ-టు-మేనీ
సొల్యూషన్: ఒక ప్రయాణీకుడు బహుళ రైళ్లను బుక్ చేయవచ్చు, మరియు ఒక రైలులో బహుళ ప్రయాణీకులు ఉండవచ్చు. ఇది మేనీ-టు-మేనీ సంబంధాన్ని సృష్టిస్తుంది, ఇది జంక్షన్ టేబుల్ (బుకింగ్స్ వంటిది) అవసరం.
పరీక్ష చిట్కా: “ఒక ఎంటిటీ అనేక వాటికి సంబంధించినది మరియు దీనికి విరుద్ధంగా కూడా” కోసం మేనీ-టు-మేనీ చూడండి
PYQ 3. ఒక డేటాబేస్ ఫీల్డ్ ‘Train_Fare’ 50 నుండి 5000 వరకు విలువలను నిల్వ చేస్తుంది. ఉత్తమ డేటా రకం ఏది? [RRB ALP 2018]
సమాధానం: B) DECIMAL(6,2)
సొల్యూషన్: DECIMAL(6,2) 9999.99 వరకు అనుమతిస్తుంది, కరెన్సీకి సరిపోతుంది. INT దశాంశ స్థానాలను కోల్పోతుంది, VARCHAR టెక్స్ట్ కోసం, FLOAT డబ్బుతో ఖచ్చితత్వ సమస్యలు కలిగి ఉంటుంది.
పరీక్ష చిట్కా: కరెన్సీ కోసం: DECIMAL(precision, scale) ఉపయోగించండి, FLOAT కాదు
PYQ 4. ఏ నార్మల్ ఫారమ్ ట్రాన్సిటివ్ డిపెండెన్సీని తొలగిస్తుంది? [RRB JE 2019]
సమాధానం: C) థర్డ్ నార్మల్ ఫారమ్ (3NF)
సొల్యూషన్: 3NF ప్రతి నాన్-కీ అట్రిబ్యూట్ ప్రైమరీ కీపై నేరుగా ఆధారపడాలని కోరుతుంది, మరొక నాన్-కీ అట్రిబ్యూట్ ద్వారా పరోక్షంగా కాదు.
పరీక్ష చిట్కా: గుర్తుంచుకోండి: 1NF = అటామిక్ విలువలు, 2NF = పూర్తి డిపెండెన్సీ, 3NF = ట్రాన్సిటివ్ డిపెండెన్సీ లేదు
PYQ 5. డేటాబేస్ ట్రాన్సాక్షన్ల ACID లక్షణాలలో, ‘I’ దేనికి సూచిస్తుంది? [RPF SI 2019]
సమాధానం: B) ఐసోలేషన్
సొల్యూషన్: ACID = అటామిసిటీ, కన్సిస్టెన్సీ, ఐసోలేషన్, డ్యూరబిలిటీ. ఐసోలేషన్ ఏకకాలిక ట్రాన్సాక్షన్లు ఒకదానికొకటి జోక్యం చేసుకోకుండా నిర్ధారిస్తుంది.
పరీక్ష చిట్కా: ACID గుర్తుంచుకోండి: All Changes In Database (Atomicity, Consistency, Isolation, Durability)
స్పీడ్ ట్రిక్స్ & శార్ట్కట్లు
డేటాబేస్ బేసిక్స్ కోసం, పరీక్షలో పరీక్షించబడిన శార్ట్కట్లను అందించండి:
| పరిస్థితి | శార్ట్కట్ | ఉదాహరణ |
|---|---|---|
| ప్రైమరీ కీని కనుగొనడం | “ప్రత్యేకం + ఎప్పుడూ NULL కాదు” నియమం | ఎంప్లాయీ టేబుల్లో, ఎంప్లాయీ_ఐడి (ప్రత్యేకం, ఎప్పుడూ null కాదు) = ప్రైమరీ కీ |
| SQL కమాండ్ ఆర్డర్ | “SFWGHO” - SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY | SELECT name FROM employees WHERE salary > 50000 |
| నార్మలైజేషన్ స్థాయి | “1-2-3” నియమం: 1NF=అటామిక్, 2NF=పూర్తి డిపెండెన్సీ, 3NF=ట్రాన్సిటివ్ డిపెండెన్సీ లేదు | Student(ID, Name, Course, Teacher) - Teacher→Course 3NFని ఉల్లంఘిస్తుంది |
| JOIN రకం ఎంపిక | “INNER=రెండూ మ్యాచ్, LEFT=ఎడమ నుండి అన్నీ, RIGHT=కుడి నుండి అన్నీ” | డిపార్ట్మెంట్లతో/లేకుండా అన్ని ఉద్యోగులను కనుగొనండి: LEFT JOIN ఉపయోగించండి |
| ఇండెక్స్ ప్రయోజనం లెక్కింపు | “సమయం ఆదా = పూర్తి స్కాన్ సమయం - ఇండెక్స్ సమయం” | పూర్తి స్కాన్: 1000s, ఇండెక్స్: 100s, ఆదా: 900s |
తప్పులు చేయకుండా ఉండటానికి సాధారణ తప్పులు
| తప్పు | విద్యార్థులు ఎందుకు చేస్తారు | సరైన విధానం |
|---|---|---|
| DELETE మరియు DROP కు గందరగోళం చెందడం | రెండూ డేటాను తీసివేస్తాయని అనుకుంటారు | DELETE డేటాను మాత్రమే తీసివేస్తుంది, DROP టేబుల్ నిర్మాణం + డేటాను తీసివేస్తుంది |
| కరెన్సీ కోసం FLOAT ఉపయోగించడం | దశాంశ సంఖ్య అనిపిస్తుంది | రౌండింగ్ లోపాలను నివారించడానికి డబ్బు కోసం DECIMAL(10,2) ఉపయోగించండి |
| UPDATEలో WHERE మర్చిపోవడం | అన్ని వరుసలు నవీకరించబడతాయని ఊహిస్తారు | ఎల్లప్పుడూ WHERE ఉపయోగించండి: UPDATE trains SET status=‘delayed’ WHERE train_no=12345 |
| తప్పు JOIN ఎంపిక | సంబంధాన్ని అర్థం చేసుకో |