కాలమ్ పేర్లను మార్చడం
మేము కాలమ్ పేర్లతో కూడా వ్యవహరించాలి. లేకపోతే, మేము పేర్లు మరియు ఐడిని పునరావృతం చేస్తాము, కానీ అవి వేరే డేటాను కలిగి ఉంటాయి. మరోవైపు, మొదటి ఐడి నిలువు వరుస మరియు ఉద్యోగి_ఐడి నిలువు వరుసలు ఒకే డేటాను కలిగి ఉంటాయి.
ఒక ప్రశ్న వ్రాస్దాం, ఇక్కడ అవసరమైన నిలువు వరుసలు మాత్రమే ఉంటాయి మరియు అదే పేర్లతో నిలువు వరుసల పేరు మార్చండి:
SELECT
task.id AS task_id,
task.name AS task_desc,
task.deadline AS deadline,
emploee.id AS emploee_id,
emploee.name AS emp_name,
emploee.occupation AS
emp_occupation
FROM employee, task
WHERE emploee.id = task.emploee_id
మరియు ఈ ప్రశ్న యొక్క ఫలితం:
టాస్క్_ఐడి | పని_desc | గడువు | ఉద్యోగి_ఐడి | emp_name | ఉపాధి_వృత్తి |
---|---|---|---|---|---|
1 | ఫ్రంటెండ్లో బగ్ను పరిష్కరించండి | 2022-06-01 | 1 | ఇవనోవ్ ఇవాన్ | ప్రోగ్రామర్ |
2 | బ్యాకెండ్లో బగ్ను పరిష్కరించండి | 2022-06-15 | 2 | పెట్రోవ్ పీటర్ | ప్రోగ్రామర్ |
7 | జీవితం ఆనందించండి | (శూన్య) | 4 | రాబినోవిచ్ మోయిషా | దర్శకుడు |
3 | కాఫీ కొనండి | 2022-07-01 | 5 | కిరియెంకో అనస్తాసియా | ఆఫీసు మేనేజర్ |
4 | కాఫీ కొనండి | 2022-08-01 | 5 | కిరియెంకో అనస్తాసియా | ఆఫీసు మేనేజర్ |
5 | కాఫీ కొనండి | 2022-09-01 | 5 | కిరియెంకో అనస్తాసియా | ఆఫీసు మేనేజర్ |
8 | జీవితం ఆనందించండి | (శూన్య) | 6 | వాస్కా | పిల్లి |
గొప్పది, అపారమయిన నిలువు వరుస పేర్లతో సమస్య విజయవంతంగా పరిష్కరించబడింది. ప్రశ్న కొంచెం పొడవుగా మారింది, కానీ ఫలిత పట్టికలో ప్రతిదీ స్పష్టంగా ఉంది. మరియు అదనపు నిలువు వరుసలు లేవు.
టేబుల్ మారుపేర్లు
కొన్నిసార్లు పట్టిక పేర్లు చాలా పొడవుగా ఉంటాయి మరియు ప్రశ్నలో చాలా స్థలాన్ని తీసుకుంటాయి. అందువల్ల, SQL యొక్క సృష్టికర్తలు, కాలమ్ల విషయంలో వలె, పఠనీయతను మెరుగుపరచడానికి, పట్టిక మారుపేర్లను పేర్కొనే సామర్థ్యాన్ని అందించారు.
మారుపేర్ల సాధారణ రూపం (టేబుల్ మారుపేర్లు) క్రింది విధంగా ఉంటుంది:
FROM table1 alias1, table2 alias2
మన మునుపటి ప్రశ్నను చిన్న మారుపేర్లతో తిరిగి వ్రాద్దాం:
SELECT
t.id AS task_id,
t.name AS task_desc,
t.deadline AS deadline,
e.id AS emploee_id,
e.name AS emp_name,
e.occupation AS emp_occupation
FROM employee e, task t
WHERE e.id = t.emploee_id
చదవగలిగే సామర్థ్యం కొద్దిగా తగ్గింది, అయితే పట్టికల పేర్లు మొదట్లో సరళంగా మరియు స్పష్టంగా ఉండడమే దీనికి కారణం. ఇది కూడా ఇలా ఉండవచ్చు:
SELECT
task.id AS task_id,
task.name AS task_desc,
task.deadline AS deadline,
emploee.id AS emploee_id,
emploee.name AS emp_name,
emploee.occupation AS
emp_occupation
FROM
Microsoft_it_department_employee employee,
Year2022_priority_task task
WHERE emploee.id = task.emploee_id
మరియు ఈ సందర్భంలో, మారుపేర్లు ఇప్పటికే ఉపయోగకరంగా ఉన్నాయి, సరియైనదా? ;)
ప్రాథమిక కీ
మరియు పట్టికల గురించి మరో ముఖ్యమైన సమాచారం. మేము టాస్క్ టేబుల్లో Employee_id కాలమ్ని కలిగి ఉన్నామని గుర్తుంచుకోవాలా? దానితో, మేము ఉద్యోగి పట్టిక నుండి ఉద్యోగి IDని సూచించాము.
మేము ఒక పట్టిక నుండి మరొక పట్టిక యొక్క అడ్డు వరుసలను సూచించాలనుకుంటే, అప్పుడు సూచించబడిన పట్టిక తప్పనిసరిగా IDతో నిలువు వరుసను కలిగి ఉండాలి, దీనిని ప్రాథమిక కీ అని కూడా పిలుస్తారు - PRIMARY KEY .
చాలా తరచుగా, ఇది ప్రత్యేకంగా జోడించబడిన నిలువు వరుస, దీని విలువ రకం పూర్ణం . పట్టికకు రికార్డులను జోడించేటప్పుడు, SQL స్వయంచాలకంగా ఈ నిలువు వరుస విలువను సెట్ చేస్తుంది.
అప్పుడు చాలా విషయాలు ఈ కీలతో ముడిపడి ఉన్నాయి:
- వివిధ పట్టికలను ఒకదానికొకటి లింక్ చేయడం;
- id ద్వారా శీఘ్ర శోధన మరియు వడపోత;
- డేటాబేస్లో డేటా సమగ్రత (ఉనికిలో లేని IDకి సూచనలు లేవు);
- ఎవరూ సూచించని డేటాను తొలగించడం;
- మరియు అనేక ఇతర.
మార్గం ద్వారా, ఒక పట్టిక అని పిలవబడే సహజ కీ ఉన్నప్పుడు పరిస్థితులు ఉన్నాయి . కంటెంట్లు ప్రత్యేకతను సూచించే నిలువు వరుస ఉన్నప్పుడు ఇది జరుగుతుంది. ఉదాహరణకు, మేము ఉద్యోగుల పట్టికకు జోడించాలని నిర్ణయించుకున్నాము:
- సంస్థలో వారి రాక క్రమం;
- పన్ను సంఖ్య;
- పాస్పోర్ట్ సంఖ్య మరియు శ్రేణి.
కొన్నిసార్లు డేటాబేస్ డిజైనర్లు సహజ కీని ప్రాథమిక కీగా ఉపయోగిస్తారు, కానీ చాలా తరచుగా అవి విడిగా ఉపయోగించబడతాయి. అన్నింటికంటే, రికార్డులను తొలగించవచ్చు, మార్చవచ్చు మరియు ఇలాంటివి చేయవచ్చు.
న్యాయాధికారులు ఒక వ్యక్తిపై అతని పూర్తి పేరు యొక్క అప్పులను వేలాడదీసినప్పుడు మీరు ఇంటర్నెట్లో కథనాలను చదివారని నేను అనుకుంటాను? ఇది కేవలం ప్రత్యేకమైన కీ భావనకు సంబంధించినది. బ్యాంకులు మరియు న్యాయాధికారులు పూర్తి పేరు మరియు పుట్టిన సంవత్సరం ద్వారా ఒక వ్యక్తి కోసం శోధించడం చాలా సౌకర్యవంతంగా ఉంటుంది. మరియు 99% కేసులలో ఇది ఒక వ్యక్తిని గుర్తించడానికి సరిపోతుంది.
కానీ మిగిలిన <1% పూర్తి పేర్లు, అదే పుట్టిన సంవత్సరం. మనలో ప్రతి ఒక్కరి జీవితంలో, అలాంటి వ్యక్తులు లేరు, కానీ జాతీయ స్థాయిలో, ఉన్నారు. సాధారణంగా, మీరు సాఫ్ట్వేర్ను వ్రాస్తున్నట్లయితే లేదా డేటాబేస్ రూపకల్పన చేస్తున్నట్లయితే, ఇది కూడా అలా ఉండవచ్చని తెలుసుకోవడం ఉపయోగకరంగా ఉంటుంది.
GO TO FULL VERSION