목록Programming (38)
개발이글스

관계형 데이터베이스 관계형 데이터베이스는 실무에서 많이 사용하는 데이터베이스 중 하나이다. 관계형 데이터베이스에서는 데이터를 테이블 형태로 저장한다. 용어 설명 열 각 열은 고유한 이름을 가지며, 자신만의 타입을 가진다. 열은 field(필드) 또는 attribute(애트리뷰트)라고도 한다. 행 관계된 데이터의 묶음을 의미하며 한 테이블의 모든 행은 같은 수의 열을 가진다. 행은 tuple 또는 record 라고도한다. 테이블 행과 열 값들의 모음을 나타내며, 도메인 특성에 따라 데이터를 논리적으로 그룹화해놓은 것이다. 그런데 열과 행 형식으로 데이터를 테이블에 저장하는 것이 관계형 데이터베이스와 무슨 관련이 있을까? 그 이유는 바로 테이블과 테이블간의 관계이기 때문이다. 위 그림처럼 테이블간의 관계를 ..
#데이터베이스를 사용하는 목적은 무엇일까? 한마디로 말하자면 데이터 중복을 최소화해서 조직의 목적에 맞게 효율적으로 관리하려고 사용한다. 라고하면 무슨말인지 도통 모르겠다. 마트를 예시로 들어보자. 마트에는 다양한 상품이 수백, 수천 개 진열되어 있고 많은 직원이 일을한다. 그리고 손님들은 다양한 시간대에 여러상품을 구매한다. 영업시간이 끝나면 마트 직원들은 매출, 매입, 반품, 재고 등을 관리한다. 이때 데이터베이스없이 손으로 일일이 처리한다면 어떨까? 매번 재고를 하나하나 조사하고, 상품수량이 바로 확인되지않아 품절사태가 번번히 일어날것이다. 상상만해도 끔찍하다.. 그렇다면 수작업대신 데이터베이스로 관리하면 어떨까? 고객이 상품을 구매하는 즉시 재고에서 수량이 차감되어 품절항목이 바로 체크가 될것이고..
데이터베이스(DB) 는 흔히 데이터의 집합, 데이터의 저장 형태를 말한다. 데이터는 무엇일까? 우리말로 자료 이다. 주의하자! 정보가 아니라 그냥 자료이다. IT 분야에서 데이터라고 하면 컴퓨터가 처리할 수 있는 자료를 말한다. 예를들어 데이터나열: 자전거, 스쿼시, Tennis, Golf, Soccer, 테니스, 축구, 골프, 187, 134252, aaa, bbb, 이지윤 운동연관데이터수집: 자전거, 스퀴시, 테니스, 축구, 골프 운동연관데이터를 영어로저장, 중복데이터 제거: Tennis Golf, Soccer 세번째가 바로 데이터 베이스라는것이다. 다시 정리하자면, 데이터베이스는 논리적으로 연관된 데이터들을 모아 일정한 형태로 저장해놓은 것이다. 즉, 여러 시스템 또는 사용자가 데이터를 동시에 공유..

JPA (Java Persistence API) JPA 는 java 진영의 ORM 기술의 표준이다. 라고하면 무슨말인지 모르겠다. ORM 이 뭔지부터 살펴보자 ! ORM = Object-Relational Mapping Object(객체) 와 Relational(관계형 데이터베이스)를 매핑(연결)한다는 뜻이다. ORM framework 는 객체와 테이블을 매핑해서 패러다임의 불일치를 개발자대신 해결해준다. 객체는 객체대로 생성하고, 데이터베이스는 데이버베이스에 맞도록 설계 가능케 해준다. 개발자는 일일이 SQL 문을 작성하지 않고 객체로 구현할 수 있도록 하는 프레임워크 이다. 여기서잠깐! 패러다임불일치가 뭔가요? --> 추상화, 상속, 다형성과 같은 특성을 가진 객체지향과 이러한 특성이 없는 데이터베이..
인터페이스와 추상클래스는 엄연히 다.른.것. 입니다!! 근데 왜 자꾸 헷갈리는거지.. 이 글로 완벽히 정리&이해 해보도록 하겠습니다. 스따뜨!!!!!!!! 추상클래스 Abstract Class 추상클래스는 예약어 abstract 를 붙여 클래스를 선언하게 됩니다 -> abstract class Car { 추상클래스는 추상메소드를 0개이상 포함하고 있습니다. 메소드도 마찬가지로 -> public abstract String name(); 어라? 근데 메소드인데 왜 구현하는곳이 없어? 동작하는거 써야되는데? 바로 추상메소드의 특징입니다. 선언부 있고~ 구현부 없고~ -->작성되어있지 않은 구현부는 자식클래스에서 오버라이딩해서 사용하게됩니다. 그런데, 추상클래스라고해서 꼭! 추상메소드를 포함해야하나요? 아.니..

MVC 란? MVC 란 Model-View-Controller 의 약자이다. 애플리케이션을 세가지 역할로 구분한 개발 방법론 입니다. 사용자가 Controller을 조작하면 Controller는 Model을 통해 데이터를 가져오고 그 데이터를 바탕으로 View를 통해 시각적 표현을 제어해서 사용자에게 전달하게 됩니다. 이러한 패턴을 성공적으로 사용하면 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시작요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있게 됩니다. MVC => 유지보수가 편해지는 코드 구성 방식 Model : 데이터와 관련된 부분 View : 사용자한테 보여지는 부분 Controller : Model과 View를 이어주는..