Где я должен начать с изучением баз данных?

Если вы используете ObjectMapper Jackson, попробуйте использовать функцию ACCEPT_SINGLE_VALUE_AS_ARRAY , которая позволяет рассматривать отдельные элементы как one-element-array. Ниже вы можете найти простой пример того, как прочитать JSON в список Pojo классов:

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.type.CollectionType;

import java.io.File;
import java.util.List;
import java.util.stream.Collectors;

public class JsonApp {

    public static void main(String[] args) throws Exception {
        File jsonFile = new File("./resource/test.json").getAbsoluteFile();

        ObjectMapper mapper = new ObjectMapper();
        mapper.enable(SerializationFeature.INDENT_OUTPUT);
        mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
        mapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);

        CollectionType collectionType0 = mapper.getTypeFactory().constructCollectionType(List.class, Pojo.class);
        CollectionType collectionType1 = mapper.getTypeFactory().constructCollectionType(List.class, collectionType0);
        List> list = mapper.readValue(jsonFile, collectionType1);

        List pojos = list.stream()
                .flatMap(List::stream)
                .collect(Collectors.toList());
        System.out.println(pojos);
    }
}

class Pojo {

    @JsonProperty("Key1")
    private String key1;

    // getters, setters, toString
}

Над кодом напечатано:

[Pojo{key1='Value1'}, Pojo{key1='Value1-1'}]

8
задан jimi hendrix 24 February 2009 в 01:07
поделиться

13 ответов

Изучите SQL.

Загрузите SQLite как свое приобретение знаний сервера.

Это запустит Вас.

После того как Вы изучили SQL, можно идти дальше к другим вопросам.

Как я работал бы с сервером? MySQL или Пост-ГРЭС были бы хорошим, недорогим выбором. Oracle, MS SQL/сервер и DB2 является хорошим дорогим выбором.

Если я распределяю свою программу и использую компьютер в моей сети, как сервер делает это открывает дыру в системе безопасности?

Это - огромная тема. Запустите с одного из широко используемых списков уязвимостей. Вот некоторые указатели: http://homepage.mac.com/s_lott/iblog/architecture/C465799452/E20090124205231/index.html

5
ответ дан 5 December 2019 в 21:23
поделиться

Большинство коммерческих баз данных использует SQL в качестве языка, хотя существуют другие там, я предложил бы, чтобы Вы придерживались испытанных и доверяемых пакетов, если Вы склоняетесь к лагерю с открытым исходным кодом, я предлагаю, чтобы Вы использовали MySQL alternativly, если у Вас есть аренда Microsoft затем, необходимо использовать экспресс SQL Server (т.е. бесплатная версия).

Я не уверен, что Вы спрашиваете в том, как Вы работали бы с сервером, но я предполагаю, что Вы спрашиваете о том, как Вы разрабатываете/создаете базы данных с SQL Server, он имеет клиентскую программу для управления базой данных тогда как с MySQL существует инструмент PHP с открытым исходным кодом для управления.

Что касается безопасности, базы данных очень безопасны, если они настроены правильно, я предлагаю читать на статьях конфигурации для платформы базы данных, которую Вы заканчиваете тем, что выбрали.

2
ответ дан 5 December 2019 в 21:23
поделиться

Запустите с Моделирования E-R, и затем Вы сможете начать изучать SQL для ресурса изучения SQL, я действительно рекомендую Вам SQLZoo: нежное Введение в SQL, это - очень хорошее интерактивное учебное руководство.

2
ответ дан 5 December 2019 в 21:23
поделиться

Я рекомендую, чтобы Вы запустили с C# на платформе.NET и использовали SQL Server MS.

Во-первых, необходимо будет начать с базами данных.

Вот великолепное место для запуска с MS SQL: http://msdn.microsoft.com/en-us/library/aa256841.aspx

MS SQL Express является свободным выпуском для людей как Вы, в то время как Вы изучаете или оцениваете.

Visual Studio также имеет специальный выпуск для изучения.

Это потребует, чтобы Ваше приобретение знаний Провело SQL, который является улучшением SQL.

Если Вы обеспокоены безопасностью SQL там существуют некоторые хорошие статьи.

1
ответ дан 5 December 2019 в 21:23
поделиться

Это действительно не имеет значения, какой язык программирования Вы выбираете. Наиболее распространенный способ взаимодействия через интерфейс с базой данных через SQL, который является простым языком, который предоставляет единый интерфейс большому количеству различных баз данных. После того как Вы знаете SQL, можно легко использовать базу данных с любого языка программирования.

Лучшее место для запуска является базой данных под названием SQLite, оно предоставляет интерфейс SQL данным, хранившим в простом файле на диске. Это означает, что можно создать базу данных и начать играть вокруг и изучать SQL без стычки установки реального сервера базы данных. В зависимости от Вашего приложения это может даже быть все, в чем Вы нуждаетесь.

На последнюю часть Вашего вопроса невозможно ответить. Любое приложение, размещенное в сети, открывает различные проблемы безопасности. Намного больше информации было бы необходимо, и надо надеяться путем приобретения знаний немного о базах данных, Вы сможете ответить на часть этого для себя.

1
ответ дан 5 December 2019 в 21:23
поделиться

Я рекомендую изучить SQL сначала. Самый легкий способ сделать это должно использовать Доступ, если у Вас есть он. Таким образом, можно сфокусироваться просто на изучении синтаксиса SQL и кода. Лучший из всех существуют базы данных-образцы и запросы, на которые можно посмотреть. Плюс Вы может соединить запросы с помощью GUI и затем посмотреть на получающийся код SQL.

Когда Вы хороши с SQL, можно затем посмотреть, какую базу данных Вы хотите использовать. Если Вы - 'поиск бесплатного программного обеспечения', вид разработчика затем можно хотеть посмотреть на MySQL. Иначе я рекомендовал бы Microsoft SQL Server.

При использовании MySQL затем, Perl является легким языком для запуска с. Если Вы хотите хороший GUI, хотя можно хотеть C# или VB.NET.

0
ответ дан 5 December 2019 в 21:23
поделиться

необходимо узнать о моделировании базы данных, в особенности Модель Отношения Объекта. SQL является просто технологией, чтобы говорить с реляционными базами данных, и это легко, но знающий, как разработать Ваши таблицы для удовлетворения требований к данным приложения, и удобным способом (т.е. по крайней мере второй нормальной формой) сохранит Вас большая проблема.

0
ответ дан 5 December 2019 в 21:23
поделиться

Относительно проблемы, "Как я работал бы с сервером?" который мог означать много вещей...

Вы услышали о "ЛАМПЕ" (Linux-Apache-MySQL-Php (жемчуг, Python)) пакет?

Это - довольно широко распространенный способ выполнить сервер (апач), база данных (mysql) и Ваш предпочтительный язык программирования.

Я выполняю Apache и mysql на машине окон, и предпочитаю Python для того, чтобы сделать вещи базы данных. Это - очень простой в использовании Python, чтобы взаимодействовать с MySql и разбудить GUI и выполнение, которое служит Вашим фронтэндом.

Apache хорош узнать при вхождении в веб-программирование вообще. Можно использовать его в качестве веб-сервера, сервера базы данных, сервера управления исходным кодом, и т.д.

0
ответ дан 5 December 2019 в 21:23
поделиться

Изучение SQL, o'reilly почти любые работы базы данных, SQL-сервер, mysql, postgree все они является хорошим способом запуститься. Необходимо, вероятно, запустить с Python. C# заставит Вас думать, 'Таким образом, я щелкну здесь, здесь и здесь, затем, затем, конец, и я подключен к базе данных' и когда Вы попытаетесь сделать что-то немного отличающимся от сценария Microsoft, Вам будет нелегко выяснять, что wizzards Microsoft сделали с Вашим кодом. С другой стороны, работа с C# могла бы получить сделанную работу (плохо, но сделанный), который является первым правилом о программировании, таким образом, в основном сделайте то, что Вы хотите (но я рекомендую Python и mysql).

О втором вопросе Вы будете всегда работать с сервером, если необходимо подать заявку онлайн (ее просто вопрос как).

О третьем вопросе Вы будете всегда открывать дыры в системе безопасности, когда Вы будете работать онлайн, Вы имеете дело с этим, во-первых, делая Вашу программу и затем обивая Ваши дефекты безопасности.

0
ответ дан 5 December 2019 в 21:23
поделиться

LINQ является, предположительно, следующей большой эволюцией обработки SQL, поэтому возможно, Вы хотите Google это немного сначала.

0
ответ дан 5 December 2019 в 21:23
поделиться

Я соглашаюсь, что, если Вы будете работать с базами данных больше, чем немного, необходимо знать язык SQL. Хорошая книга для изучения SQL является Приобретением знаний O'Reilly SQL, второго выпуска.

Я рекомендую отложить использовать сервер (который включает предотвращение системы MySQL, которая используется в вышеупомянутой книге), в то время как Вы изучаете основные принципы работы с реляционной базой данных. Эти две темы легко отделяются; Вы не должны использовать сервер базы данных, чтобы иметь полную реляционную базу данных.

Я соглашаюсь, что SQLite будет намного лучшим инструментом для начала, так как можно узнать о реляционных базах данных без административных трудностей сервера.

0
ответ дан 5 December 2019 в 21:23
поделиться

Если Вы работаете над веб-приложением, я предлагаю, чтобы Вы начали проходить учебные руководства по Ruby on Rails. База данных так абстрагирована и столь хорошо ограниченная к модели, что SQL почти полностью факторизуется, и Вы просто думаете с точки зрения своей бизнес-модели.

Если Вы работаете над приложением, получаете к изучению или некоторую обязательную систему или SQL, я понимаю, что C# имеет некоторую систему (LINQ?), который мог бы сделать жизнь легче для Вас...

-1
ответ дан 5 December 2019 в 21:23
поделиться

Какой язык я должен использовать?

Язык Common LISP, если Вы находитесь в для поучительного опыта и хотите работать не только с реляционными базами данных (SQL), но также и с объектно-ориентированными.

Другие языки имеют тенденцию поддерживать только RDBMS хорошо.

Как я работал бы с сервером?

Мой совет: арендуйте дешевый виртуальный сервер GNU/Linux и учитесь работать над ним с помощью SSH.

Если я распределяю свою программу и использую компьютер в моей сети, как сервер делает это открывает дыру в системе безопасности?

Возможно, возможно, нет. Это зависит от Вашей программы.

Вопрос, который Вы задали, приблизительно походил, “Если я работаю над своим домом, я помогаю грабителям войти?”.

Если так, как я должен иметь дело с этим?

Читайте на безопасном программировании и на брандмауэрах.

Используйте нормальный язык программирования со сборкой "мусора" и имейте дело осторожно с любым вводом данных пользователем.

И как я установил бы сервер, просто загрузите установщик и выполните его?

Это немного более сложно, чем это. Это зависит от операционной системы и программного обеспечения сервера, которое Вы собираетесь использовать.

И что сервер? Сервер базы данных (если Вы используете один), веб-сервер, Ваш сервер приложений, что-то еще?

-3
ответ дан 5 December 2019 в 21:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: