<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>kang-heedo.log</title>
        <link>https://velog.io/</link>
        <description>제가 올리는 글에서 잘못되거나 추가 설명이 필요한 부분 피드백을 주시면 정말로 감사하게 여기고 적극 반영하도록 하겠습니다</description>
        <lastBuildDate>Thu, 31 Aug 2023 12:48:20 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>kang-heedo.log</title>
            <url>https://velog.velcdn.com/images/kang-heedo/profile/f2175499-cb92-4fd3-a1a8-6360783d0454/image.jfif</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. kang-heedo.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/kang-heedo" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[자바 Path 설정]]></title>
            <link>https://velog.io/@kang-heedo/%EC%9E%90%EB%B0%94-Path-%EC%84%A4%EC%A0%95</link>
            <guid>https://velog.io/@kang-heedo/%EC%9E%90%EB%B0%94-Path-%EC%84%A4%EC%A0%95</guid>
            <pubDate>Thu, 31 Aug 2023 12:48:20 GMT</pubDate>
            <description><![CDATA[<h2 id="jdk8-다운로드">JDK8 다운로드</h2>
<p>자바를 사용하기 위해서는 JDK를 다운로드를 해야 한다. 글쓴이는 JDK는 <a href="https://www.oracle.com/">https://www.oracle.com/</a> 해당 사이트에서 다운로드를 받을 수 있다. 글쓴이 본인은 8버전을 사용하기에 8버전 링크이다.</p>
<p>어떤 버전을 사용하든 공부를 하는데 있어 큰 문제는 없다. LTS 버전 8, 11, 17을 잘 사용하면 좋을거다.
<img src="https://velog.velcdn.com/images/kang-heedo/post/8c480a64-4471-4a59-a8da-8c916b9a953b/image.png" alt=""></p>
<h2 id="jdk-위치와-중요파일">JDK 위치와 중요파일</h2>
<p>JDK를 다운 받았다면 <strong>C &lt; Program Files &lt; Java</strong> 같은 위치에 존재할 것이다. 물론 다운받은 경로가 다르다면 위치는 다를 것이다. </p>
<p>JDK에 파일을 들어가다 보면 bin이라는 파일이 있다. 그리고 bin 폴더 안에는 다양한 자바 파일이 존재한다. 우리는 이 파일 모두를 지금 당장 알아야 필요는 없지만 2개 정도는 알아두면 좋다. 바로 <strong>Javac.exe</strong>와 <strong>Java.exe</strong>다.</p>
<ul>
<li><p><strong>Javac.exe : 자바 컴파일러(Java Compiler)</strong></p>
</li>
<li><p><strong>Java.exe : 자바 런처(Java Launcher)</strong></p>
<p>위의 2가지 파일은 CMD로 실행을 했을때 해당 파일이 어디에 있든 실행이 되어야 한다. 이를 위해 해당 파일들의 경로를 환경 변수 Path에 추가해야한다. </p>
</li>
</ul>
<h3 id="환경-변수-path란">환경 변수 Path란?</h3>
<p>Path는 자바와 관련되 있는 문법은 아니고 윈도우와 관련이 되있다. Path는 cmd에서 현재 위치에 해당 파일이 없더라도 실행을 시킬 수 있도록 지정을 하는 것이다. 말로만 하면 이해가 안될 수 있으니 이미지와 같이 설명을 하겠다.</p>
<p>원래 java 파일을 실행키기 위해서는 java 파일이 있는 bin 폴더로 이동을 해야 한다. 
<img src="https://velog.velcdn.com/images/kang-heedo/post/c664eb2d-2ad7-484b-a052-aaca166db936/image.png" alt="">
<img src="https://velog.velcdn.com/images/kang-heedo/post/ba50e3cf-4cde-451c-b7f9-02219fd405c7/image.png" alt=""></p>
<p>하지만 Path 설정하고 cmd에서 실행을 한다면 다음과 같이 cmd에서 바로 Java 파일을 실행할 수 있다.
<img src="https://velog.velcdn.com/images/kang-heedo/post/77b9ba61-0eee-43a1-aeb7-af7771b3de97/image.png" alt=""></p>
<h2 id="path-설정">Path 설정</h2>
<p><strong>(1) 고급 시스템 설정 보기  → 환경 변수</strong></p>
<p>다음 이미지에 적힌 순서대로 클릭하여 시스템 변수의 Path를 클릭 후 편집을 누른다.
<img src="https://velog.velcdn.com/images/kang-heedo/post/1b997e27-184c-401a-b371-71fa370de425/image.png" alt=""></p>
<p>(2)  다음 사진과 같이 새로 만들기 → 자바 설치한 경로를 지정한다.
<img src="https://velog.velcdn.com/images/kang-heedo/post/76963c46-04b3-4065-a633-04b7b6d4d0f1/image.png" alt=""></p>
<p>이렇게 설정하면 CMD에서 정상적으로 작동을 한다. 이제 CMD에서 java 또는 Javac를 타이핑해서 정삭적으로 작동하는지 확인해보라 오류가 발생한다면 자바 경로를 다시 한번 확인해 보거나  JDK 경로가 겹치는지 확인해라 </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[짧게 보는 리눅스 명령어]]></title>
            <link>https://velog.io/@kang-heedo/%EC%A7%A7%EA%B2%8C-%EB%B3%B4%EB%8A%94-%EC%9A%B0%EB%B6%84%ED%88%AC-%EC%8B%A4%ED%96%89-%ED%99%94%EB%A9%B4</link>
            <guid>https://velog.io/@kang-heedo/%EC%A7%A7%EA%B2%8C-%EB%B3%B4%EB%8A%94-%EC%9A%B0%EB%B6%84%ED%88%AC-%EC%8B%A4%ED%96%89-%ED%99%94%EB%A9%B4</guid>
            <pubDate>Sat, 19 Aug 2023 13:03:08 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/kang-heedo/post/5c75f2d5-9594-42c6-9e18-21ddbfca4ab9/image.png" alt=""></p>
<p>위에 사진은 터미널을 실행 시킨 모습이다. 여기서 리눅스 명령어를 사용해 리눅스 작업을 진행할 곳이다. 빨간 네모 모양안에 적힌 글자가 있다. 위의 글자를 해석해보면</p>
<ul>
<li>user1 : 사용자 계정 이름</li>
<li>myubunt : 호스트의 이름 즉 서버를 의미한다.</li>
<li>~ : 사용자의 홈 디렉터리를 뜻한다.</li>
<li>$ : 해당 표시는 일반 사용자를 뜻하며 #은 관리자를 뜻한다. 이는 배시셀이 기본적으로 지정을 한 것이고 프롬프트는 사용자가 다른 모양으로 변경할 수 있다.</li>
</ul>
<h3 id="프롬프트-종료">프롬프트 종료</h3>
<ul>
<li>exit : 명령어를 이용한 사용자 접속 해제</li>
<li>ctrl + d : 단축키를 이용한 접속 해제</li>
</ul>
<h3 id="명령행-편집">명령행 편집</h3>
<ul>
<li><strong>backSpace, ←</strong> : 기본적으로 윈도우, 맥OS 와 다를 것이 없다. 그냥 평소대로 지우면 된다.</li>
<li><strong>Ctrl + w</strong> : 한 단어를 지운다. 단어의 기준은 스페이스(공간)을 기준으로 한다.</li>
<li><strong>Ctrl + u</strong> : 한 행을 지운다.</li>
</ul>
<h3 id="명령어-구조">명령어 구조</h3>
<p>리눅스의 명령 구조는 다음과 같으며 명령은 반드시 필요하지만 뒤에 나오는 옵션과 인자는 필수 조건이 아니다. 하지만 순서는 잘 지키야한다.</p>
<p><strong>명령 [옵션] [인자]</strong></p>
<ul>
<li><strong>명령</strong> : 리눅스를 상요하기 위해 사용자가 입력하는 명령어 들이다. ls, date, man, mv … 등 매우 많다.</li>
<li><strong>옵션</strong> : 옵션은 명령을 보다 세부적으로 내릴 수 있다. 명령에 따라 옵션이 다를 수도 있다.</li>
<li><strong>인자</strong> : 명령으로 전달되는 값이다. 주로 파일명이나 디렉터리명이 사용된다. 명령에 따라 인자도 다르므로 사용법을 찾아봐야 한다.</li>
</ul>
<h3 id="간단한-리눅스-명령어들">간단한 리눅스 명령어들</h3>
<ul>
<li><strong>date</strong> : 현재 <strong>년 : 월 : 일 : 요일 : 시 : 분 : 초</strong> 가 출력이 된다.</li>
<li>clear : 현재 보이는 명령어 창을 깨끗이 지운다.</li>
<li><strong>man</strong> : man [명령] 형태로 사용하며 해당 명령에 대한 설명이 나온다.</li>
<li><strong>password</strong> : password [인자] 형태로 사용하며 사용자의 비밀번호를 변경한다. 변경할 비밀번호를 두번 물어보는데 이떄 화면에는 글자가 안보이니 주의하자</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[가상머신이란?]]></title>
            <link>https://velog.io/@kang-heedo/%EA%B0%80%EC%83%81%EB%A8%B8%EC%8B%A0%EC%9D%B4%EB%9E%80</link>
            <guid>https://velog.io/@kang-heedo/%EA%B0%80%EC%83%81%EB%A8%B8%EC%8B%A0%EC%9D%B4%EB%9E%80</guid>
            <pubDate>Sat, 19 Aug 2023 12:58:29 GMT</pubDate>
            <description><![CDATA[<p>대부분의 사람들은 운영체제가 윈도우나 맥OS일 것이다. 컴퓨터는 한개의 운영체제만을 가질 수 있다. 리눅스 또한 운영체제이 이지만 가상머신을 이용한다면 하나의 컴퓨터에서 여러개의 리눅스를 사용할 수 있다. </p>
<h2 id="가상머신virtual-machine">가상머신(Virtual Machine)</h2>
<p>가상머신은 현재 사용하고 있는 운영체제(호스트 OS)에 가상의 머신을 생성한 후 여기에 다른 운영체제(게스트 OS)를 설치할 수 있도록 해주는 응용 프로그램이다. </p>
<p>가상 머신은 PC의 메모리를 나누어 사용하므로 동시에 가상머신을 여러 개 동작시킬려면 메모리가 충분해야 한다.</p>
<h3 id="가상머신-종류">가상머신 종류</h3>
<p>가상머신은 여러 종류가 있다. 이 글을 작성하는 본인은 VMware을 사용하고 있다. VMware 말고도버츄얼PC, 버주얼 박스 등 있으니 본인에 사용하고 싶은걸 사용하면 된다.</p>
<ul>
<li>VMware Workstation Pro: 유로 제품으로 30일간 체험이 가능하다.</li>
<li>VMware Workstation Player : 개인이나 비영리 단체의 경우 무료로 사용할 수 있다. 바로 설치가 가능하고 사용 제품과 비교해도 기능을 대부분 지원하기 때문에 매우 유용하다.</li>
</ul>
<h3 id="리눅스의-파티션partition이란">리눅스의 파티션(Partition)이란?</h3>
<p>가상머신에서 리눅스 사용하면 파티션이라는 말이 나올 것이다. 파티션은 디스크 공간을 분할하는 것으로 하드 디스크를 나눔으로써 서로 다른 운영체제의 공간이 서로 간섭하지 않도록 하기 위함이다. </p>
<h3 id="파티션-종류">파티션 종류</h3>
<p>리눅스에서 파티션은 종류가 6가지가 있다.  지금 당장 전부 외울 필요는 없어 보인다. 작성자 본인은 SWAP만 외워두었다.</p>
<ul>
<li>/root : 단일 사용자 모드로 실행을 위한 핵심파일이 저장된다.</li>
<li>/boot : 리눅스 커널 이미지, 맵, 파일 등으 저장 한다.</li>
<li>/var : Spool 디렉토리와 로그 파일을 저장한다.</li>
<li>/tmp : 사용자 응용 프로그램에서 임시 파일을 저장하는 곳으로 사용된다.</li>
<li>/home : 사용자의 홈 디렉토리를 위해 사용한다.</li>
<li><strong>SWAP</strong> : 가상 메모리를 저장한다. 보통 RAM 크기의 2배로 사용하게 된다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[리눅스의 특징과 구조]]></title>
            <link>https://velog.io/@kang-heedo/%EB%A6%AC%EB%88%85%EC%8A%A4%EC%9D%98-%ED%8A%B9%EC%A7%95%EA%B3%BC-%EA%B5%AC%EC%A1%B0</link>
            <guid>https://velog.io/@kang-heedo/%EB%A6%AC%EB%88%85%EC%8A%A4%EC%9D%98-%ED%8A%B9%EC%A7%95%EA%B3%BC-%EA%B5%AC%EC%A1%B0</guid>
            <pubDate>Sat, 19 Aug 2023 12:57:50 GMT</pubDate>
            <description><![CDATA[<h2 id="리눅스의-특징">리눅스의 특징</h2>
<p>리눅스에 대해서는 앞서 다뤘지만 특징을 정리하면 다음과 같다.</p>
<h3 id="1-리눅스는-오픈-소프트웨어이다">1. 리눅스는 오픈 소프트웨어이다.</h3>
<p>리눅스 개발자인 리누스 토발즈는 자신이 개발한 커널을 자유롭게 사용하도록 공개했고 지금까지 무료로 풀려있다. 이에 리눅스와 여러 개발자들이 꾸준히 성능을 개선하였고, 여러 버전의 리눅스가 배포 되었다. 지금 이 글을 보고 있는 당신도 원한다면 리눅스를 개조해서 자신만의 상품을 만들 수 있다!!</p>
<h3 id="2-유닉스와-완벽한-호환성을-유지한다">2. 유닉스와 완벽한 호환성을 유지한다.</h3>
<p>리눅스라는 이름은 <strong>“리누스가 만든 유닉스”</strong>라는 이름을 가지고 있다. 리눅스는 유닉스와 <strong>호환성</strong>을 염두해 두고 개발하여 리눅스는 유닉스의 장점인 멀티 유저, 멀티테스킹을 가지고 있으며 강력한 네트워크 기능과 보안 기능을 갖추고 있다. </p>
<h3 id="3-서버용-운영체제로-많이-사용된다">3. 서버용 운영체제로 많이 사용된다.</h3>
<p>리눅스는 서버용으로 많이 사용이 된다. 한국의 IT 기업 카카오, 네이버, 배달의 민족, 삼성 … 등이 사용하며 여러 중소 기업들도 전부 리눅스를 사용한다. 마이크로소프트도 서버 제품이 있지만 윈도우 서버는 유료여서 별로 많은 사람들이 사용하지는 않는다.</p>
<h3 id="4-편리한-gui-환경을-제공한다">4. 편리한 GUI 환경을 제공한다.</h3>
<p>이 글을 작성하고 있는 본인은 리눅스가 검은 화면에 타자만 치는 CMD로만 생각을 했지만 리눅스는 그놈을 비록한 다양한 GUI를 제공하고 있다. 버전마다 화면 구성이 다르지만 윈도우 화면과 비슷하고 리눅스에서 기본적으로 제공하는 좋은 소프트웨어들이 있다.</p>
<h3 id="리눅스의-구조">리눅스의 구조<img src="https://velog.velcdn.com/images/kang-heedo/post/f62980f7-ea5a-4921-ad6c-939e006a1116/image.png" alt=""></h3>
<p>리눅스는 위의 그림과 같이 <strong>“하드웨어 → 커널 → 셀 → 응용 프로그램”</strong>으로 구성되어 있다.</p>
<h3 id="하드웨어hardware">하드웨어(HardWare)</h3>
<p>우리가 흔히들 들어본 CPU, RAM, 보조 기억장치(HDD, SSD) 등을 말한다. </p>
<p>하드웨어의 뜻을 잠시 살펴 보자면 딱딱한(Hard)와 제품(Ware)를 조합한 것이다. 소프트웨어는 가볍다라는 뜻을 가진 Soft에서 가져온 것이다. </p>
<h3 id="커널kernel">커널(Kernel)</h3>
<p>커널은 <strong>리눅스의 핵심</strong>으로 프로세스 관리, 메모리 관리, 파일 시스템 관리, 장치 관리 등 컴퓨터의 모든 자원을 초기화하고 제어하는 기능을 수행한다.</p>
<h3 id="응용-프로그램application-software">응용 프로그램(Application Software)</h3>
<p>리눅스는 각종 프로그래밍 개발 도구, 문서 편집 도구, 네트워크 관련 도구 등 매우 다양한 응용 프로그램을 제공한다.</p>
<p>응용 프로그램의 정의를 잠시 살펴보자면 <strong>“어떤 작업을 하기 위해 사용하는 프로그램”</strong></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[GNU?]]></title>
            <link>https://velog.io/@kang-heedo/GNU</link>
            <guid>https://velog.io/@kang-heedo/GNU</guid>
            <pubDate>Sat, 19 Aug 2023 12:56:06 GMT</pubDate>
            <description><![CDATA[<p>GNU는 리눅스 성공에 큰 역활을 기여를 한 프로젝트이다. 그래서 리눅스에 대한 내용을 살펴보면 GNU가 나오는 이유이다. 전부 기억해야 할 필요는 없지만 알아두면 좋다!</p>
<p><strong>GNU</strong>은 <strong>** **G</strong>NU is <strong>N</strong>ot <strong>U</strong>nix의 약자로 자유 소프트웨어를 개발하는 프로젝트이다. 이 프로젝트 <strong>자유 소프트웨어 운동</strong>의 중심 인물인 <strong>리처드 스톨먼</strong>에 의헤 시작이 되었다. 리처드는 Unix가 갈수록 자유롭게 사용되던 소프트웨어를 점점 독점하여 제안에 대한 반발로 시작되었다. 참고로 GNU는 리누스 토발즈가 리눅스를 배포하기 이전에 이야기 이다.</p>
<h3 id="gnu의-4가지-자유">GNU의 4가지 자유</h3>
<p><a href="http://www.gun.org">www.gnu.org</a> 해당 사이트에서 집적 읽어 볼 수 있으니 시간이 남는다면 찾아서 읽어 봐라 </p>
<ul>
<li>프로그램을 어떤한 목적으로도 실행할 수 있는 자유</li>
<li>프로그램이 어떻게 동작하는지 학습</li>
<li>하고, 자신의 필요에 맞게 제작할 수 있는 자유, 이를 위해서는 소스 코드에 대한 접근이 전제되어야 한다.</li>
<li>이웃을 도울 수 있도록 복제물을 재배포할 수 있는 자유</li>
<li>프로그램을 개선할 수 있는 자유와 개선된 이점을 공동체 전체가 누릴 수 있도록 발표할 자유, 이를 위해서도 역시 소스 코드에 대한 접근이 전제되어야 한다.</li>
</ul>
<h3 id="리눅스와-gnu의-관계">리눅스와 GNU의 관계</h3>
<p>GNU 프로젝트는 자체적으로 커널을 개발을 진행 중이었지만 완성하지 못하고 리누스 토발즈가 개발한 리눅스 커널과 GNU의 여러 응용 프로그램이 결합되여 완성된 형태의 운영체제로 태어났다.</p>
<p>GNU 프로젝트로 만든 프로그램에 대한 라이선스를 배포하기 위해 <strong>GPL</strong>(<strong>GNU</strong> <strong>G</strong>eneral <strong>P</strong>ublic <strong>L</strong>icense)라는 자유 소프트웨어 라이선스를 1989년에 제정했다.</p>
<p>GPL의 버전은 <a href="http://www.gnu.org/licenses/licenses.html">www.gnu.org/licenses/licenses.html</a> 에서 확인할 수 있다.</p>
<h3 id="gpl의-5가지-의무">GPL의 5가지 의무</h3>
<p>GPL 다음 다섯 가지 의무를 저작권의 한 부분으로 <strong>강제</strong>하고 있다. </p>
<ul>
<li>컴퓨터 프로그램을 어떤한 목적으로든 사용할 수 있다. 다만 법으로 제한하는 행위는 할 수 없다.</li>
<li>컴퓨터 프로그램의 실행 복사본을 언제나 프로그램의 소스 코드와 함께 판매하거나 소스 코드를 무료로 배포해야 한다.</li>
<li>컴퓨터 프로그램의 소스 코드를 용도에 따라 변경할 수 있다.</li>
<li>변경된 컴퓨터 프로그램 역시 프로그램의 소크 코드를 반드시 공개 배포해야 한다.</li>
<li>변경된 컴퓨터 프로그램 역시 반드시 똑같은 라이선스를 취해야 한다. 즉, GPL 라이선스를 적용해야 한다.</li>
</ul>
<h3 id="리눅스-배보판">리눅스 배보판</h3>
<p>초창기에는 리눅스 커널에 GNU 프로젝트의 여러 응용 프로그램을 적용하여 구상하는 작업은 매우 힘든 작업이였다. 이에 여러 회사와 개발자들이 리눅스를 보다 <strong>쉽게 사용할 수 있도록</strong> 리눅스 커널과 응용 프로그램으로 구성된 배포판을 공유 하기 시작하였다.</p>
<p>초기에는 배포판이 많지 않았지만 시간이 지난 지금은 엄청난 수의 리눅스 배포판이 있다. CentOS, 레드헷, 데미안 등… 우리가 사용하고 있는 우분투도 <strong>데비안</strong>에서 파생 되었다.</p>
<p><img src="https://velog.velcdn.com/images/kang-heedo/post/fbe15d42-d543-4250-a96d-5617638891ae/image.png" alt=""></p>
<p>해당 이미지 출처 : <a href="https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg">https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[데이터베이스(DataBase)란?]]></title>
            <link>https://velog.io/@kang-heedo/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4DataBase%EB%9E%80</link>
            <guid>https://velog.io/@kang-heedo/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4DataBase%EB%9E%80</guid>
            <pubDate>Thu, 03 Aug 2023 12:16:03 GMT</pubDate>
            <description><![CDATA[<h2 id="dbdatabase란">DB(DataBase)란?</h2>
<p>데이터베이스를 간단하게 설명하면 <strong>정보의 집합</strong> 또는 <strong>저장소</strong>이라고 할 수 있다. 더 자세하게 설명하면 여러 사람에게 <strong>공유될 목적으로 관리</strong>되는 정보라고 할 수 있다.</p>
<h2 id="dbmsdatabase-management-system">DBMS(DataBase Management System)</h2>
<p>DBMS는 약자 그대로 데이터베이스를 관리하는 소프트웨어이다.</p>
<h2 id="dbms의-발전-과정">DBMS의 발전 과정</h2>
<p>컴퓨터가 보급화 되기 이전에는 <strong>종이에 펜으로 기록</strong>을 하였다. 컴퓨터가 보급이 된 이후로는 엑셀과 같은 스프레드시트를 사용해 표 형태로 <strong>컴퓨터 파일로 저장</strong>을 하였지만 파일로 저장을 하는 것은 소규모 정보를 저장하기는 좋지만 대규모 정보를 저장하고 관리하기에는 무리가 있으며 사람이 작성을 하다 여러 실수가 발생해 데이터의 불일치가 발생할 수 있다. 이런 파일의 단점을 보안하고 대량의 데이터를 효율적으로 관리하고 운영하기 위해 <strong>DBMS의 대두와 보급</strong>이 이루어졌다. DBMS를 사용하기 위해서는 <strong>SQL</strong>(<strong>S</strong>tructured <strong>Q</strong>uery <strong>L</strong>anguage)이라는 언어를 사용해야 한다.</p>
<h2 id="dbms의-3가지-종류">DBMS의 3가지 종류</h2>
<h3 id="계층형hierarchical-dbms">계층형(Hierarchical) DBMS</h3>
<p>처음으로 나온 DBMS 개념이다. 아래 이미지와 같이 <strong>트리(Tree) 구조</strong>를 가지고 있다. <strong>현재는 사용하지는 않는다</strong>. 이유는 구조를 변경하기 까다롭고 다른 구성원을 찾아가기 힘든 구조이기 때문이다.
<img src="https://velog.velcdn.com/images/kang-heedo/post/fd3ec3fd-3664-41b1-9aea-f77d85bfdd1b/image.png" alt=""></p>
<p>Tree 구조: 트리 구조란 나무를 거꾸로 뒤집어 놓은 형태 처럼 보여서 붙인 이름으로 한 상위 노드(Node)를 기준으로 여러 하위 노드들이 연결되고 하위 노드에 또 다른 하위 노드들이 연결되는 과정을 반복하는 과정을 말한다. 여기서 노드란 트리를 구성하는 각각의 요소를 말한다.</p>
<h3 id="망형network-dbms">망형(Network) DBMS</h3>
<p>계층형 DBMS의 문제점을 개선하기 위해 만들어졌다. 하위 구성원들 끼리 연결이 되어 유연한 구조이지만 모든 구조를 이해해야만 프로그램을 작성을 할 수 있다는 단점이 있다. <strong>지금은 거의 사용하지</strong> <strong>않는 형태</strong>이다.
<img src="https://velog.velcdn.com/images/kang-heedo/post/09442850-195b-436e-82f9-23a4699be054/image.png" alt=""></p>
<h2 id="관계형relational-dbms">관계형(Relational) DBMS</h2>
<p>RDBMS라고 부른다. 대부분의 DBMS는 RDBMS 형태로 사용하고 있다. RDBMS의 데이터베이스는 최소 단위로 <strong>테이블(Table)</strong>을 사용하고 있으며 하나의 이상의 <strong>행(Row)</strong>과 <strong>열(Column)</strong>을 가지고 있다.
<img src="https://velog.velcdn.com/images/kang-heedo/post/02661787-69c6-4728-866d-de16a4207ae9/image.png" alt=""></p>
<h2 id="sqlstructured-query-language--구조화된-질문-언어">SQL(Structured Query Language) : 구조화된 질문 언어</h2>
<p>SQL은 <strong>국제표준화기구</strong>에서 SQL에 대한 표준을 정해서 발표하고 있다. 이를 <strong>표준 SQL</strong>이라고 한다. 표준 SQL은 여러 DBMS의 회사의 특성을 다 포옹하지 못하기 때문에 DBMS를 만드는 회사에서는 표준 SQL을 반영해서 각 특성을 살린 제품을 만든다.</p>
<p><img src="https://velog.velcdn.com/images/kang-heedo/post/6d76eaa4-ba17-4d93-b440-603f442f2ba3/image.png" alt=""></p>
<p>해당 내용과 이미지는 혼공SQL에서 가져왔습니다 </p>
]]></description>
        </item>
    </channel>
</rss>